@howells/hairline 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (455) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +148 -2
  3. package/lib/charts/axes.js +5 -0
  4. package/lib/charts/basics/candlestick.data.js +44 -0
  5. package/lib/charts/basics/candlestick.js +180 -0
  6. package/lib/charts/basics/daily-empty.js +24 -0
  7. package/lib/charts/basics/daily-readings.js +16 -0
  8. package/lib/charts/basics/dot-heat.data.js +225 -0
  9. package/lib/charts/basics/dot-heat.js +174 -0
  10. package/lib/charts/basics/dumbbell-queue.js +203 -0
  11. package/lib/charts/basics/hairline-area.js +208 -0
  12. package/lib/charts/basics/hairline-line.js +195 -0
  13. package/lib/charts/basics/nested-treemap.data.js +55 -0
  14. package/lib/charts/basics/nested-treemap.js +191 -0
  15. package/lib/charts/basics/paired-rungs.data.js +31 -0
  16. package/lib/charts/basics/paired-rungs.js +151 -0
  17. package/lib/charts/basics/plumb-scatter.js +229 -0
  18. package/lib/charts/basics/rung-bars.js +178 -0
  19. package/lib/charts/basics/rung-geometry.js +6 -0
  20. package/lib/charts/basics/rung-histogram.data.js +73 -0
  21. package/lib/charts/basics/rung-histogram.js +153 -0
  22. package/lib/charts/basics/rung-waterfall.data.js +30 -0
  23. package/lib/charts/basics/rung-waterfall.js +150 -0
  24. package/lib/charts/basics/rungs.js +22 -0
  25. package/lib/charts/basics/series-key.js +26 -0
  26. package/lib/charts/basics/stacked-rungs.data.js +42 -0
  27. package/lib/charts/basics/stacked-rungs.js +174 -0
  28. package/lib/charts/basics/stream-ribbon.data.js +124 -0
  29. package/lib/charts/basics/stream-ribbon.js +336 -0
  30. package/lib/charts/basics/tick-box.data.js +50 -0
  31. package/lib/charts/basics/tick-box.js +226 -0
  32. package/lib/charts/basics/tick-donut.data.js +30 -0
  33. package/lib/charts/basics/tick-donut.js +210 -0
  34. package/lib/charts/basics/tick-gauge.data.js +8 -0
  35. package/lib/charts/basics/tick-gauge.js +169 -0
  36. package/lib/charts/basics/tick-rows.data.js +30 -0
  37. package/lib/charts/basics/tick-rows.js +121 -0
  38. package/lib/charts/basics/util-a.js +15 -0
  39. package/lib/charts/basics/util-b.js +13 -0
  40. package/lib/charts/big/circular-graph.data.js +827 -0
  41. package/lib/charts/big/circular-graph.js +289 -0
  42. package/lib/charts/big/force-galaxy-model.js +167 -0
  43. package/lib/charts/big/force-galaxy.data.js +813 -0
  44. package/lib/charts/big/force-galaxy.js +276 -0
  45. package/lib/charts/big/thread-triptych.data.js +204 -0
  46. package/lib/charts/big/thread-triptych.js +334 -0
  47. package/lib/charts/board/room.js +6 -0
  48. package/lib/charts/board/slope.js +176 -0
  49. package/lib/charts/board/spread.js +28 -0
  50. package/lib/charts/control.js +18 -0
  51. package/lib/charts/core.js +84 -0
  52. package/lib/charts/data-table.js +34 -0
  53. package/lib/charts/fills.js +153 -0
  54. package/lib/charts/forms/area-difference.data.js +62 -0
  55. package/lib/charts/forms/area-difference.js +192 -0
  56. package/lib/charts/forms/brush-math.js +42 -0
  57. package/lib/charts/forms/brush-strip.js +199 -0
  58. package/lib/charts/forms/brushed-overview.data.js +374 -0
  59. package/lib/charts/forms/brushed-overview.js +162 -0
  60. package/lib/charts/forms/chord-ring.data.js +140 -0
  61. package/lib/charts/forms/chord-ring.js +167 -0
  62. package/lib/charts/forms/circle-pack.data.js +80 -0
  63. package/lib/charts/forms/circle-pack.js +99 -0
  64. package/lib/charts/forms/hatched-stack.data.js +71 -0
  65. package/lib/charts/forms/hatched-stack.js +228 -0
  66. package/lib/charts/forms/radial-year.data.js +13 -0
  67. package/lib/charts/forms/radial-year.js +156 -0
  68. package/lib/charts/frame.js +73 -0
  69. package/lib/charts/glance/aggregate-sankey.data.js +74 -0
  70. package/lib/charts/glance/aggregate-sankey.js +242 -0
  71. package/lib/charts/glance/bar-race.data.js +122 -0
  72. package/lib/charts/glance/bar-race.js +246 -0
  73. package/lib/charts/glance/big-slice.data.js +41 -0
  74. package/lib/charts/glance/big-slice.js +238 -0
  75. package/lib/charts/glance/chunky-bars.data.js +22 -0
  76. package/lib/charts/glance/chunky-bars.js +113 -0
  77. package/lib/charts/glance/circular-graph.data.js +146 -0
  78. package/lib/charts/glance/circular-graph.js +138 -0
  79. package/lib/charts/glance/control-slot.js +9 -0
  80. package/lib/charts/glance/diverging-bar.data.js +34 -0
  81. package/lib/charts/glance/diverging-bar.js +154 -0
  82. package/lib/charts/glance/dot-waffle.data.js +26 -0
  83. package/lib/charts/glance/dot-waffle.js +179 -0
  84. package/lib/charts/glance/draw-in.data.js +9 -0
  85. package/lib/charts/glance/draw-in.goals.json.js +289 -0
  86. package/lib/charts/glance/draw-in.js +214 -0
  87. package/lib/charts/glance/dynamic-stream.data.js +6 -0
  88. package/lib/charts/glance/dynamic-stream.js +189 -0
  89. package/lib/charts/glance/force-graph.data.js +77 -0
  90. package/lib/charts/glance/force-graph.js +211 -0
  91. package/lib/charts/glance/jitter-strip.data.js +10 -0
  92. package/lib/charts/glance/jitter-strip.easter.json.js +430 -0
  93. package/lib/charts/glance/jitter-strip.js +157 -0
  94. package/lib/charts/glance/link-bundle.js +51 -0
  95. package/lib/charts/glance/matrix-heat-glance.data.js +108 -0
  96. package/lib/charts/glance/matrix-heat-glance.js +170 -0
  97. package/lib/charts/glance/pictorial-bar.data.js +22 -0
  98. package/lib/charts/glance/pictorial-bar.js +180 -0
  99. package/lib/charts/glance/rainfall-dual-area.data.js +177 -0
  100. package/lib/charts/glance/rainfall-dual-area.js +192 -0
  101. package/lib/charts/glance/rank-strip.data.js +76 -0
  102. package/lib/charts/glance/rank-strip.js +172 -0
  103. package/lib/charts/glance/scatter-labels.js +60 -0
  104. package/lib/charts/glance/scatter-morph.data.js +78 -0
  105. package/lib/charts/glance/scatter-morph.js +338 -0
  106. package/lib/charts/glance/single-axis.data.js +6 -0
  107. package/lib/charts/glance/single-axis.js +150 -0
  108. package/lib/charts/glance/single-axis.tides.json.js +180 -0
  109. package/lib/charts/glance/stagger-wave.data.js +66 -0
  110. package/lib/charts/glance/stagger-wave.js +132 -0
  111. package/lib/charts/glance/tree-lr.data.js +41 -0
  112. package/lib/charts/glance/tree-lr.js +135 -0
  113. package/lib/charts/glance/util-a.js +49 -0
  114. package/lib/charts/glance/util-b.js +19 -0
  115. package/lib/charts/glance/violin.data.js +9 -0
  116. package/lib/charts/glance/violin.js +185 -0
  117. package/lib/charts/glance/violin.tenors.json.js +5 -0
  118. package/lib/charts/hooks.js +154 -0
  119. package/lib/charts/hover.js +19 -0
  120. package/lib/charts/lupi/arc-matrix.data.js +83 -0
  121. package/lib/charts/lupi/arc-matrix.js +146 -0
  122. package/lib/charts/lupi/ballot-tally.data.js +22 -0
  123. package/lib/charts/lupi/ballot-tally.js +125 -0
  124. package/lib/charts/lupi/barcode-lollipop.data.js +195 -0
  125. package/lib/charts/lupi/barcode-lollipop.js +161 -0
  126. package/lib/charts/lupi/brand-spectrum.data.js +70 -0
  127. package/lib/charts/lupi/brand-spectrum.js +233 -0
  128. package/lib/charts/lupi/bubble-almanac.data.js +689 -0
  129. package/lib/charts/lupi/bubble-almanac.js +164 -0
  130. package/lib/charts/lupi/calendar-heat.data.js +399 -0
  131. package/lib/charts/lupi/calendar-heat.js +175 -0
  132. package/lib/charts/lupi/cluster-field.data.js +83 -0
  133. package/lib/charts/lupi/cluster-field.js +173 -0
  134. package/lib/charts/lupi/dot-cascade.data.js +54 -0
  135. package/lib/charts/lupi/dot-cascade.js +124 -0
  136. package/lib/charts/lupi/dotty-matrix.data.js +170 -0
  137. package/lib/charts/lupi/dotty-matrix.js +126 -0
  138. package/lib/charts/lupi/hourglass-stream.data.js +30 -0
  139. package/lib/charts/lupi/hourglass-stream.js +158 -0
  140. package/lib/charts/lupi/hundred-field.data.js +38 -0
  141. package/lib/charts/lupi/hundred-field.js +237 -0
  142. package/lib/charts/lupi/launch-fan.data.js +315 -0
  143. package/lib/charts/lupi/launch-fan.js +198 -0
  144. package/lib/charts/lupi/matrix-heat.data.js +97 -0
  145. package/lib/charts/lupi/matrix-heat.js +246 -0
  146. package/lib/charts/lupi/parallel-coordinates.data.js +54 -0
  147. package/lib/charts/lupi/parallel-coordinates.js +218 -0
  148. package/lib/charts/lupi/radial-convergence.data.js +178 -0
  149. package/lib/charts/lupi/radial-convergence.js +208 -0
  150. package/lib/charts/lupi/radial-patchwork.data.js +454 -0
  151. package/lib/charts/lupi/radial-patchwork.js +181 -0
  152. package/lib/charts/lupi/ridgeline.data.js +1834 -0
  153. package/lib/charts/lupi/ridgeline.js +195 -0
  154. package/lib/charts/lupi/trend-lineage.data.js +51 -0
  155. package/lib/charts/lupi/trend-lineage.js +198 -0
  156. package/lib/charts/lupi/type-colonnade.data.js +18 -0
  157. package/lib/charts/lupi/type-colonnade.js +198 -0
  158. package/lib/charts/lupi/util-a.js +14 -0
  159. package/lib/charts/lupi/util-b.js +12 -0
  160. package/lib/charts/maps/choropleth.js +295 -0
  161. package/lib/charts/maps/geo.js +84 -0
  162. package/lib/charts/maps/legend.js +83 -0
  163. package/lib/charts/maps/step-fill.js +9 -0
  164. package/lib/charts/maps/us-choropleth.data.js +249 -0
  165. package/lib/charts/maps/us-choropleth.js +41 -0
  166. package/lib/charts/maps/world-choropleth.data.js +681 -0
  167. package/lib/charts/maps/world-choropleth.js +46 -0
  168. package/lib/charts/markers.js +35 -0
  169. package/lib/charts/marks.js +31 -0
  170. package/lib/charts/motion.js +11 -0
  171. package/lib/charts/originals/daily-users.data.js +101 -0
  172. package/lib/charts/originals/daily-users.js +203 -0
  173. package/lib/charts/originals/feature-rank.data.js +92 -0
  174. package/lib/charts/originals/feature-rank.js +167 -0
  175. package/lib/charts/originals/format.js +5 -0
  176. package/lib/charts/originals/key.js +26 -0
  177. package/lib/charts/originals/response-time.data.js +98 -0
  178. package/lib/charts/originals/response-time.js +187 -0
  179. package/lib/charts/originals/revenue-by-plan.data.js +26 -0
  180. package/lib/charts/originals/revenue-by-plan.js +248 -0
  181. package/lib/charts/playback.js +68 -0
  182. package/lib/charts/plot-note.js +27 -0
  183. package/lib/charts/roles.js +5 -0
  184. package/lib/charts/rules.js +66 -0
  185. package/lib/charts/scale-context.js +6 -0
  186. package/lib/charts/shapes.js +8 -0
  187. package/lib/charts/shared-options.js +25 -0
  188. package/lib/charts/svg.js +43 -0
  189. package/lib/charts/text.js +30 -0
  190. package/lib/charts/texture-ids.js +20 -0
  191. package/lib/charts/texture.js +286 -0
  192. package/lib/charts/util.js +43 -0
  193. package/lib/charts/value-grid.js +26 -0
  194. package/lib/draw.js +27 -0
  195. package/lib/entries/dumbbell-queue.js +2 -0
  196. package/lib/entries/hairline-area.js +2 -0
  197. package/lib/entries/hairline-line.js +2 -0
  198. package/lib/entries/plumb-scatter.js +2 -0
  199. package/lib/entries/rung-bars.js +2 -0
  200. package/lib/entries/slope.js +2 -0
  201. package/lib/frame.js +2 -0
  202. package/lib/hairline.css +1385 -0
  203. package/lib/index.js +72 -0
  204. package/lib/json-schema/dumbbell-queue.json +258 -0
  205. package/lib/json-schema/hairline-area.json +262 -0
  206. package/lib/json-schema/hairline-line.json +256 -0
  207. package/lib/json-schema/index.json +50 -0
  208. package/lib/json-schema/plumb-scatter.json +363 -0
  209. package/lib/json-schema/rung-bars.json +230 -0
  210. package/lib/json-schema/slope.json +333 -0
  211. package/lib/kit.js +16 -0
  212. package/lib/lib/format.js +29 -0
  213. package/lib/lib/random.js +8 -0
  214. package/lib/maps.js +4 -0
  215. package/lib/schema/daily.js +9 -0
  216. package/lib/schema/dumbbell-queue.js +28 -0
  217. package/lib/schema/format.js +72 -0
  218. package/lib/schema/hairline-area.js +24 -0
  219. package/lib/schema/hairline-line.js +23 -0
  220. package/lib/schema/key.js +4 -0
  221. package/lib/schema/metrics.js +26 -0
  222. package/lib/schema/motion.js +12 -0
  223. package/lib/schema/options.js +21 -0
  224. package/lib/schema/plumb-scatter.js +48 -0
  225. package/lib/schema/registry.js +132 -0
  226. package/lib/schema/rung-bars.js +25 -0
  227. package/lib/schema/scale.js +9 -0
  228. package/lib/schema/slope.js +28 -0
  229. package/lib/schema/validate.js +25 -0
  230. package/lib/schema.js +16 -0
  231. package/lib/theme/derive.js +98 -0
  232. package/lib/theme.css +443 -0
  233. package/lib/theme.js +1 -0
  234. package/lib/tokens.css +306 -0
  235. package/lib/types/charts/axes.d.ts +14 -0
  236. package/lib/types/charts/basics/candlestick.d.ts +22 -0
  237. package/lib/types/charts/basics/candlestick.data.d.ts +10 -0
  238. package/lib/types/charts/basics/daily-empty.d.ts +7 -0
  239. package/lib/types/charts/basics/daily-readings.d.ts +38 -0
  240. package/lib/types/charts/basics/dot-heat.d.ts +19 -0
  241. package/lib/types/charts/basics/dot-heat.data.d.ts +28 -0
  242. package/lib/types/charts/basics/dumbbell-queue.d.ts +15 -0
  243. package/lib/types/charts/basics/hairline-area.d.ts +18 -0
  244. package/lib/types/charts/basics/hairline-line.d.ts +18 -0
  245. package/lib/types/charts/basics/nested-treemap.d.ts +18 -0
  246. package/lib/types/charts/basics/nested-treemap.data.d.ts +30 -0
  247. package/lib/types/charts/basics/paired-rungs.d.ts +21 -0
  248. package/lib/types/charts/basics/paired-rungs.data.d.ts +43 -0
  249. package/lib/types/charts/basics/plumb-scatter.d.ts +14 -0
  250. package/lib/types/charts/basics/rung-bars.d.ts +16 -0
  251. package/lib/types/charts/basics/rung-geometry.d.ts +6 -0
  252. package/lib/types/charts/basics/rung-histogram.d.ts +22 -0
  253. package/lib/types/charts/basics/rung-histogram.data.d.ts +34 -0
  254. package/lib/types/charts/basics/rung-waterfall.d.ts +19 -0
  255. package/lib/types/charts/basics/rung-waterfall.data.d.ts +31 -0
  256. package/lib/types/charts/basics/rungs.d.ts +28 -0
  257. package/lib/types/charts/basics/series-key.d.ts +19 -0
  258. package/lib/types/charts/basics/stacked-rungs.d.ts +20 -0
  259. package/lib/types/charts/basics/stacked-rungs.data.d.ts +26 -0
  260. package/lib/types/charts/basics/stream-ribbon.d.ts +19 -0
  261. package/lib/types/charts/basics/stream-ribbon.data.d.ts +29 -0
  262. package/lib/types/charts/basics/tick-box.d.ts +19 -0
  263. package/lib/types/charts/basics/tick-box.data.d.ts +30 -0
  264. package/lib/types/charts/basics/tick-donut.d.ts +24 -0
  265. package/lib/types/charts/basics/tick-donut.data.d.ts +25 -0
  266. package/lib/types/charts/basics/tick-gauge.d.ts +22 -0
  267. package/lib/types/charts/basics/tick-gauge.data.d.ts +24 -0
  268. package/lib/types/charts/basics/tick-rows.d.ts +18 -0
  269. package/lib/types/charts/basics/tick-rows.data.d.ts +23 -0
  270. package/lib/types/charts/basics/util-a.d.ts +10 -0
  271. package/lib/types/charts/basics/util-b.d.ts +13 -0
  272. package/lib/types/charts/big/circular-graph.d.ts +20 -0
  273. package/lib/types/charts/big/circular-graph.data.d.ts +46 -0
  274. package/lib/types/charts/big/force-galaxy-model.d.ts +109 -0
  275. package/lib/types/charts/big/force-galaxy.d.ts +18 -0
  276. package/lib/types/charts/big/force-galaxy.data.d.ts +48 -0
  277. package/lib/types/charts/big/thread-triptych.d.ts +17 -0
  278. package/lib/types/charts/big/thread-triptych.data.d.ts +41 -0
  279. package/lib/types/charts/board/room.d.ts +18 -0
  280. package/lib/types/charts/board/slope.d.ts +14 -0
  281. package/lib/types/charts/board/spread.d.ts +5 -0
  282. package/lib/types/charts/control.d.ts +17 -0
  283. package/lib/types/charts/core.d.ts +77 -0
  284. package/lib/types/charts/data-table.d.ts +18 -0
  285. package/lib/types/charts/fills.d.ts +103 -0
  286. package/lib/types/charts/forms/area-difference.d.ts +9 -0
  287. package/lib/types/charts/forms/area-difference.data.d.ts +26 -0
  288. package/lib/types/charts/forms/brush-math.d.ts +19 -0
  289. package/lib/types/charts/forms/brush-strip.d.ts +19 -0
  290. package/lib/types/charts/forms/brushed-overview.d.ts +12 -0
  291. package/lib/types/charts/forms/brushed-overview.data.d.ts +16 -0
  292. package/lib/types/charts/forms/chord-ring.d.ts +12 -0
  293. package/lib/types/charts/forms/chord-ring.data.d.ts +29 -0
  294. package/lib/types/charts/forms/circle-pack.d.ts +9 -0
  295. package/lib/types/charts/forms/circle-pack.data.d.ts +23 -0
  296. package/lib/types/charts/forms/hatched-stack.d.ts +10 -0
  297. package/lib/types/charts/forms/hatched-stack.data.d.ts +36 -0
  298. package/lib/types/charts/forms/radial-year.d.ts +8 -0
  299. package/lib/types/charts/forms/radial-year.data.d.ts +17 -0
  300. package/lib/types/charts/frame.d.ts +21 -0
  301. package/lib/types/charts/glance/aggregate-sankey.d.ts +23 -0
  302. package/lib/types/charts/glance/aggregate-sankey.data.d.ts +32 -0
  303. package/lib/types/charts/glance/bar-race.d.ts +20 -0
  304. package/lib/types/charts/glance/bar-race.data.d.ts +32 -0
  305. package/lib/types/charts/glance/big-slice.d.ts +27 -0
  306. package/lib/types/charts/glance/big-slice.data.d.ts +30 -0
  307. package/lib/types/charts/glance/chunky-bars.d.ts +18 -0
  308. package/lib/types/charts/glance/chunky-bars.data.d.ts +24 -0
  309. package/lib/types/charts/glance/circular-graph.d.ts +19 -0
  310. package/lib/types/charts/glance/circular-graph.data.d.ts +43 -0
  311. package/lib/types/charts/glance/control-slot.d.ts +9 -0
  312. package/lib/types/charts/glance/diverging-bar.d.ts +19 -0
  313. package/lib/types/charts/glance/diverging-bar.data.d.ts +27 -0
  314. package/lib/types/charts/glance/dot-waffle.d.ts +19 -0
  315. package/lib/types/charts/glance/dot-waffle.data.d.ts +31 -0
  316. package/lib/types/charts/glance/draw-in.d.ts +20 -0
  317. package/lib/types/charts/glance/draw-in.data.d.ts +6 -0
  318. package/lib/types/charts/glance/dynamic-stream.d.ts +22 -0
  319. package/lib/types/charts/glance/dynamic-stream.data.d.ts +7 -0
  320. package/lib/types/charts/glance/force-graph.d.ts +16 -0
  321. package/lib/types/charts/glance/force-graph.data.d.ts +45 -0
  322. package/lib/types/charts/glance/jitter-strip.d.ts +24 -0
  323. package/lib/types/charts/glance/jitter-strip.data.d.ts +27 -0
  324. package/lib/types/charts/glance/link-bundle.d.ts +22 -0
  325. package/lib/types/charts/glance/matrix-heat-glance.d.ts +22 -0
  326. package/lib/types/charts/glance/matrix-heat-glance.data.d.ts +35 -0
  327. package/lib/types/charts/glance/pictorial-bar.d.ts +20 -0
  328. package/lib/types/charts/glance/pictorial-bar.data.d.ts +27 -0
  329. package/lib/types/charts/glance/rainfall-dual-area.d.ts +19 -0
  330. package/lib/types/charts/glance/rainfall-dual-area.data.d.ts +32 -0
  331. package/lib/types/charts/glance/rank-strip.d.ts +19 -0
  332. package/lib/types/charts/glance/rank-strip.data.d.ts +36 -0
  333. package/lib/types/charts/glance/scatter-labels.d.ts +23 -0
  334. package/lib/types/charts/glance/scatter-morph.d.ts +22 -0
  335. package/lib/types/charts/glance/scatter-morph.data.d.ts +30 -0
  336. package/lib/types/charts/glance/single-axis.d.ts +27 -0
  337. package/lib/types/charts/glance/single-axis.data.d.ts +6 -0
  338. package/lib/types/charts/glance/stagger-wave.d.ts +18 -0
  339. package/lib/types/charts/glance/stagger-wave.data.d.ts +26 -0
  340. package/lib/types/charts/glance/tree-lr.d.ts +16 -0
  341. package/lib/types/charts/glance/tree-lr.data.d.ts +27 -0
  342. package/lib/types/charts/glance/util-a.d.ts +31 -0
  343. package/lib/types/charts/glance/util-b.d.ts +12 -0
  344. package/lib/types/charts/glance/violin.d.ts +22 -0
  345. package/lib/types/charts/glance/violin.data.d.ts +24 -0
  346. package/lib/types/charts/hooks.d.ts +109 -0
  347. package/lib/types/charts/hover.d.ts +26 -0
  348. package/lib/types/charts/lupi/arc-matrix.d.ts +18 -0
  349. package/lib/types/charts/lupi/arc-matrix.data.d.ts +28 -0
  350. package/lib/types/charts/lupi/ballot-tally.d.ts +19 -0
  351. package/lib/types/charts/lupi/ballot-tally.data.d.ts +28 -0
  352. package/lib/types/charts/lupi/barcode-lollipop.d.ts +19 -0
  353. package/lib/types/charts/lupi/barcode-lollipop.data.d.ts +26 -0
  354. package/lib/types/charts/lupi/brand-spectrum.d.ts +28 -0
  355. package/lib/types/charts/lupi/brand-spectrum.data.d.ts +34 -0
  356. package/lib/types/charts/lupi/bubble-almanac.d.ts +22 -0
  357. package/lib/types/charts/lupi/bubble-almanac.data.d.ts +45 -0
  358. package/lib/types/charts/lupi/calendar-heat.d.ts +19 -0
  359. package/lib/types/charts/lupi/calendar-heat.data.d.ts +20 -0
  360. package/lib/types/charts/lupi/cluster-field.d.ts +21 -0
  361. package/lib/types/charts/lupi/cluster-field.data.d.ts +52 -0
  362. package/lib/types/charts/lupi/dot-cascade.d.ts +22 -0
  363. package/lib/types/charts/lupi/dot-cascade.data.d.ts +24 -0
  364. package/lib/types/charts/lupi/dotty-matrix.d.ts +17 -0
  365. package/lib/types/charts/lupi/dotty-matrix.data.d.ts +32 -0
  366. package/lib/types/charts/lupi/hourglass-stream.d.ts +18 -0
  367. package/lib/types/charts/lupi/hourglass-stream.data.d.ts +27 -0
  368. package/lib/types/charts/lupi/hundred-field.d.ts +18 -0
  369. package/lib/types/charts/lupi/hundred-field.data.d.ts +24 -0
  370. package/lib/types/charts/lupi/launch-fan.d.ts +37 -0
  371. package/lib/types/charts/lupi/launch-fan.data.d.ts +41 -0
  372. package/lib/types/charts/lupi/matrix-heat.d.ts +20 -0
  373. package/lib/types/charts/lupi/matrix-heat.data.d.ts +29 -0
  374. package/lib/types/charts/lupi/parallel-coordinates.d.ts +23 -0
  375. package/lib/types/charts/lupi/parallel-coordinates.data.d.ts +40 -0
  376. package/lib/types/charts/lupi/radial-convergence.d.ts +15 -0
  377. package/lib/types/charts/lupi/radial-convergence.data.d.ts +24 -0
  378. package/lib/types/charts/lupi/radial-patchwork.d.ts +16 -0
  379. package/lib/types/charts/lupi/radial-patchwork.data.d.ts +35 -0
  380. package/lib/types/charts/lupi/ridgeline.d.ts +23 -0
  381. package/lib/types/charts/lupi/ridgeline.data.d.ts +19 -0
  382. package/lib/types/charts/lupi/trend-lineage.d.ts +18 -0
  383. package/lib/types/charts/lupi/trend-lineage.data.d.ts +56 -0
  384. package/lib/types/charts/lupi/type-colonnade.d.ts +20 -0
  385. package/lib/types/charts/lupi/type-colonnade.data.d.ts +30 -0
  386. package/lib/types/charts/lupi/util-a.d.ts +9 -0
  387. package/lib/types/charts/lupi/util-b.d.ts +11 -0
  388. package/lib/types/charts/maps/choropleth.d.ts +33 -0
  389. package/lib/types/charts/maps/geo.d.ts +48 -0
  390. package/lib/types/charts/maps/legend.d.ts +14 -0
  391. package/lib/types/charts/maps/step-fill.d.ts +6 -0
  392. package/lib/types/charts/maps/us-choropleth.d.ts +25 -0
  393. package/lib/types/charts/maps/us-choropleth.data.d.ts +23 -0
  394. package/lib/types/charts/maps/world-choropleth.d.ts +22 -0
  395. package/lib/types/charts/maps/world-choropleth.data.d.ts +35 -0
  396. package/lib/types/charts/markers.d.ts +42 -0
  397. package/lib/types/charts/marks.d.ts +58 -0
  398. package/lib/types/charts/motion.d.ts +12 -0
  399. package/lib/types/charts/originals/daily-users.d.ts +13 -0
  400. package/lib/types/charts/originals/daily-users.data.d.ts +17 -0
  401. package/lib/types/charts/originals/feature-rank.d.ts +13 -0
  402. package/lib/types/charts/originals/feature-rank.data.d.ts +29 -0
  403. package/lib/types/charts/originals/format.d.ts +2 -0
  404. package/lib/types/charts/originals/key.d.ts +16 -0
  405. package/lib/types/charts/originals/response-time.d.ts +11 -0
  406. package/lib/types/charts/originals/response-time.data.d.ts +24 -0
  407. package/lib/types/charts/originals/revenue-by-plan.d.ts +12 -0
  408. package/lib/types/charts/originals/revenue-by-plan.data.d.ts +26 -0
  409. package/lib/types/charts/playback.d.ts +42 -0
  410. package/lib/types/charts/plot-note.d.ts +37 -0
  411. package/lib/types/charts/roles.d.ts +28 -0
  412. package/lib/types/charts/rules.d.ts +62 -0
  413. package/lib/types/charts/scale-context.d.ts +3 -0
  414. package/lib/types/charts/shapes.d.ts +9 -0
  415. package/lib/types/charts/shared-options.d.ts +25 -0
  416. package/lib/types/charts/svg.d.ts +24 -0
  417. package/lib/types/charts/text.d.ts +36 -0
  418. package/lib/types/charts/texture-ids.d.ts +24 -0
  419. package/lib/types/charts/texture.d.ts +185 -0
  420. package/lib/types/charts/util.d.ts +66 -0
  421. package/lib/types/charts/value-grid.d.ts +22 -0
  422. package/lib/types/draw.d.ts +279 -0
  423. package/lib/types/entries/dumbbell-queue.d.ts +2 -0
  424. package/lib/types/entries/hairline-area.d.ts +2 -0
  425. package/lib/types/entries/hairline-line.d.ts +2 -0
  426. package/lib/types/entries/plumb-scatter.d.ts +2 -0
  427. package/lib/types/entries/rung-bars.d.ts +2 -0
  428. package/lib/types/entries/slope.d.ts +2 -0
  429. package/lib/types/frame.d.ts +2 -0
  430. package/lib/types/index.d.ts +82 -0
  431. package/lib/types/kit.d.ts +22 -0
  432. package/lib/types/lib/format.d.ts +58 -0
  433. package/lib/types/lib/random.d.ts +5 -0
  434. package/lib/types/maps.d.ts +2 -0
  435. package/lib/types/schema/daily.d.ts +14 -0
  436. package/lib/types/schema/dumbbell-queue.d.ts +91 -0
  437. package/lib/types/schema/format.d.ts +101 -0
  438. package/lib/types/schema/hairline-area.d.ts +83 -0
  439. package/lib/types/schema/hairline-line.d.ts +85 -0
  440. package/lib/types/schema/key.d.ts +12 -0
  441. package/lib/types/schema/metrics.d.ts +26 -0
  442. package/lib/types/schema/motion.d.ts +22 -0
  443. package/lib/types/schema/options.d.ts +51 -0
  444. package/lib/types/schema/plumb-scatter.d.ts +124 -0
  445. package/lib/types/schema/registry.d.ts +309 -0
  446. package/lib/types/schema/rung-bars.d.ts +84 -0
  447. package/lib/types/schema/scale.d.ts +34 -0
  448. package/lib/types/schema/slope.d.ts +120 -0
  449. package/lib/types/schema/validate.d.ts +29 -0
  450. package/lib/types/schema.d.ts +30 -0
  451. package/lib/types/theme/derive.d.ts +23 -0
  452. package/lib/types/theme.d.ts +2 -0
  453. package/lib/vendor/us-atlas/states-10m.json.js +13855 -0
  454. package/lib/vendor/world-atlas/countries-110m.json.js +9357 -0
  455. package/package.json +162 -4
@@ -0,0 +1,24 @@
1
+ import type { ReactNode, SVGProps } from "react";
2
+ type ChartSvgProps = Omit<SVGProps<SVGSVGElement>, "aria-label" | "role"> & {
3
+ children: ReactNode;
4
+ /**
5
+ * A sentence or two on what the data says, from the data passed in: read
6
+ * out after the name. Becomes the svg's <desc>.
7
+ */
8
+ desc?: string;
9
+ height: number;
10
+ /** The chart's accessible name, read out by screen readers and shown as its title. */
11
+ label: string;
12
+ /** Called as the pointer leaves the chart: usually the hover's `clear`. */
13
+ leave?: () => void;
14
+ /** A shorter hover title, when the label is a full reading of the data. */
15
+ title?: string;
16
+ width: number;
17
+ };
18
+ /**
19
+ * The svg every chart draws into: sized, an image with an accessible name
20
+ * (`label`) and a description (`desc`), and titled. Pointer handlers,
21
+ * classes and data attributes pass straight through.
22
+ */
23
+ export declare const ChartSvg: ({ children, desc, height, label, leave, style, title, width, ...rest }: ChartSvgProps) => import("react").JSX.Element;
24
+ export {};
@@ -0,0 +1,36 @@
1
+ import type { SVGProps } from "react";
2
+ import type { TickMark } from "./axes.js";
3
+ import type { StaggerTier } from "./motion.js";
4
+ /** The text voices, as the t-* utilities in app.css. */
5
+ export type Voice = "axis" | "figure" | "label" | "value";
6
+ type LabelProps = Omit<SVGProps<SVGTextElement>, "order"> & {
7
+ anchor?: "end" | "middle" | "start";
8
+ /** Paper behind the letters, for text over lines and marks. */
9
+ halo?: boolean;
10
+ /** Centre the text on `y`; otherwise `y` is its baseline. */
11
+ middle?: boolean;
12
+ /** The quieter tone of a secondary label. */
13
+ muted?: boolean;
14
+ /** Fade in at this entry step; omit when the label's group fades. */
15
+ order?: number;
16
+ tier?: StaggerTier;
17
+ voice: Voice;
18
+ };
19
+ /**
20
+ * Text in one of the chart voices: axis, label, value or figure. It may
21
+ * centre on its y, sit on a halo, take the muted tone and fade in at an
22
+ * entry step; anything else (a hero tone, rotation) passes through.
23
+ */
24
+ export declare const Label: ({ anchor, className, halo, middle, muted, order, style, tier, voice, ...rest }: LabelProps) => import("react").JSX.Element;
25
+ /**
26
+ * A row of axis labels under a plot, each on its own x and one baseline.
27
+ * `flush` sets the first label from its x rather than centring it, so it
28
+ * cannot run off the plot's left edge.
29
+ */
30
+ export declare const XLabels: (props: {
31
+ className?: string;
32
+ flush?: boolean;
33
+ ticks: readonly TickMark[];
34
+ y: number;
35
+ }) => import("react").JSX.Element;
36
+ export {};
@@ -0,0 +1,24 @@
1
+ /** The engraving pitches, in whole px. Every texture uses one of these. */
2
+ export declare const TEXTURE_PITCH: {
3
+ /** Crosshatch: wider, so two families of lines never read as chequerboard. */
4
+ readonly cross: 6;
5
+ /** Dense screens, fine rules, beads, and dotted guides. */
6
+ readonly dense: 3;
7
+ /** Single diagonal hatch. */
8
+ readonly hatch: 4;
9
+ /** Dot screens and stipple. */
10
+ readonly screen: 4;
11
+ };
12
+ /**
13
+ * The halftone ladder: dot radii for five value steps on a 4px screen, from a
14
+ * fine stipple to dots that nearly touch. The top step stops short of merging,
15
+ * so even the darkest tile still reads as an engraved screen, never a flat grey.
16
+ */
17
+ export declare const HALFTONE_R: readonly [0.75, 1, 1.3, 1.6, 1.85];
18
+ /** `url(#id)` for a pattern fill. */
19
+ export declare const paint: (id: string) => string;
20
+ /**
21
+ * Unique pattern ids for one chart, all derived from a single `useSvgId`:
22
+ * call the result with a pattern's name to get its id.
23
+ */
24
+ export declare const useTextureIds: (prefix: string) => (name: string) => string;
@@ -0,0 +1,185 @@
1
+ import type { CSSProperties } from "react";
2
+ interface PatternProps {
3
+ /** Fill class for the ground under the marks; paper unless a chart says otherwise. */
4
+ ground?: string;
5
+ id: string;
6
+ /** Grid pitch in whole px. */
7
+ pitch?: number;
8
+ /** Ramp fill class for the engraved marks, e.g. "fill-l3". */
9
+ tone: string;
10
+ }
11
+ interface HatchProps extends PatternProps {
12
+ /** Rising (/) by default, or falling (\). */
13
+ angle?: "falling" | "rising";
14
+ }
15
+ /** Diagonal hatch: one 1px line per tile, as a pixel staircase. */
16
+ export declare const Hatch: ({ angle, ground, id, pitch, tone, }: HatchProps) => import("react").JSX.Element;
17
+ /**
18
+ * Crosshatch: both diagonals, the falling one offset by half a pitch so the
19
+ * crossings spread evenly instead of stacking into a chequerboard.
20
+ */
21
+ export declare const CrossHatch: ({ ground, id, pitch, tone, }: PatternProps) => import("react").JSX.Element;
22
+ interface RulesProps extends PatternProps {
23
+ /** Level (horizontal) by default, or upright (vertical). */
24
+ angle?: "level" | "upright";
25
+ }
26
+ /** Fine rules: one 1px line every `pitch` px. */
27
+ export declare const Rules: ({ angle, ground, id, pitch, tone, }: RulesProps) => import("react").JSX.Element;
28
+ /** Stipple: one 1px dot per cell, alternate rows offset by half a pitch. */
29
+ export declare const Stipple: ({ ground, id, pitch, tone, }: PatternProps) => import("react").JSX.Element;
30
+ interface DotScreenProps extends PatternProps {
31
+ /** Dot radius; one radius per screen. Larger dots read as a darker step. */
32
+ r: number;
33
+ }
34
+ /**
35
+ * A halftone screen: one dot of fixed radius at the centre of every tile.
36
+ * A dot too big for its tile is drawn with the parts its neighbours spill
37
+ * in, so the darkest screens stay round instead of clipping square.
38
+ */
39
+ export declare const DotScreen: ({ ground, id, pitch, r, tone, }: DotScreenProps) => import("react").JSX.Element;
40
+ /**
41
+ * Beads: 1px columns every `pitch` px. Inside a 2px rung this reads as a row
42
+ * of evenly spaced dots: a broken rung. Unlike the other textures it has no
43
+ * ground unless given one, so the gaps show what is under the rung.
44
+ */
45
+ export declare const Beads: ({ ground, id, pitch, tone, }: PatternProps) => import("react").JSX.Element;
46
+ interface DottedLineProps {
47
+ /** Extra classes, e.g. motion. */
48
+ className?: string;
49
+ /** Pixel step between dots; 3 is the "provisional" and guide pitch. */
50
+ pitch?: number;
51
+ /** Ramp fill class for the dots, e.g. "fill-l4". */
52
+ tone: string;
53
+ x0: number;
54
+ x1: number;
55
+ y0: number;
56
+ y1: number;
57
+ }
58
+ /**
59
+ * An evenly dotted straight guide, horizontal or vertical: 1px dots on whole
60
+ * pixels. Pass equal x0/x1 for a vertical line, equal y0/y1 for a horizontal.
61
+ */
62
+ export declare const DottedLine: ({ className, pitch, tone, x0, x1, y0, y1, }: DottedLineProps) => import("react").JSX.Element;
63
+ interface DotRingProps {
64
+ /** Extra classes, e.g. motion. */
65
+ className?: string;
66
+ cx: number;
67
+ cy: number;
68
+ /** Angles in radians, clockwise from noon; a full ring when omitted. */
69
+ from?: number;
70
+ r: number;
71
+ /** Arc-length step between dots in px. */
72
+ step?: number;
73
+ to?: number;
74
+ /** Ramp fill class for the dots, e.g. "fill-l4". */
75
+ tone: string;
76
+ }
77
+ /** An evenly dotted ring or arc: dots of one fixed radius at one fixed step. */
78
+ export declare const DotRing: ({ className, cx, cy, from, r, step, to, tone, }: DotRingProps) => import("react").JSX.Element;
79
+ interface Vertex {
80
+ x: number;
81
+ y: number;
82
+ }
83
+ interface DottedPathProps {
84
+ /** Extra classes, e.g. motion. */
85
+ className?: string;
86
+ /** Arc-length step between dots in px; 3 is the "provisional" pitch. */
87
+ pitch?: number;
88
+ /** The line's vertices, in order. */
89
+ points: Vertex[];
90
+ /** Ramp fill class for the dots, e.g. "fill-l4". */
91
+ tone: string;
92
+ }
93
+ /**
94
+ * An evenly dotted data line: DotRing's dots at one fixed arc-length step
95
+ * along any polyline. The provisional (future) stretch of a series.
96
+ */
97
+ export declare const DottedPath: ({ className, pitch, points, tone, }: DottedPathProps) => import("react").JSX.Element;
98
+ interface PixelLineProps {
99
+ /** Extra classes on the group, e.g. motion. */
100
+ className?: string;
101
+ /** Ramp fill class for the pixels, e.g. "fill-l4". */
102
+ tone: string;
103
+ x0: number;
104
+ x1: number;
105
+ y0: number;
106
+ y1: number;
107
+ }
108
+ /**
109
+ * A 1px line at any angle drawn on whole pixels, the way the shared hatches
110
+ * are: crisp where an antialiased short line would smudge.
111
+ */
112
+ export declare const PixelLine: (props: PixelLineProps) => import("react").JSX.Element;
113
+ interface KeySwatchProps {
114
+ /** A pattern fill (`paint(id)`) or omit and pass a fill class in `tone`. */
115
+ fill?: string;
116
+ /** Fill class when the swatch is solid, e.g. "fill-hero". */
117
+ tone?: string;
118
+ x: number;
119
+ y: number;
120
+ }
121
+ /**
122
+ * The one key swatch: a 12 × 12 square, 2px corners, the series' texture on
123
+ * paper inside a 1px rule; big enough that a texture reads as itself. Every
124
+ * legend and key uses it. The swatch is translated to its own whole-pixel
125
+ * corner, so its texture starts the same way inside every key.
126
+ */
127
+ export declare const KeySwatch: (props: KeySwatchProps) => import("react").JSX.Element;
128
+ interface EngravedRectProps {
129
+ /** Outline tone, motion and hover classes, e.g. "stroke-l5 grow-x". */
130
+ className?: string;
131
+ /** The texture fill, `paint(id)`. */
132
+ fill: string;
133
+ /** Outer box in whole px: the 1px outline is its outermost pixels. */
134
+ height: number;
135
+ /**
136
+ * Where the inside of the box falls on the pattern's tile, in px (default
137
+ * 0, 0: the inside starts on a tile's first pixel). A rule pattern wants 1
138
+ * so its first line is not drawn against the outline.
139
+ */
140
+ lead?: {
141
+ x: number;
142
+ y: number;
143
+ };
144
+ onPointerEnter?: () => void;
145
+ style?: CSSProperties;
146
+ /**
147
+ * For dot screens and upright rules: engrave whole tiles only, stopping on
148
+ * a tile edge at least `clear` px before the right outline, so no mark is
149
+ * cut by it or drawn against it. The rest of the inside is paper.
150
+ */
151
+ whole?: {
152
+ clear: number;
153
+ pitch: number;
154
+ };
155
+ width: number;
156
+ x: number;
157
+ y: number;
158
+ }
159
+ /**
160
+ * A textured box: the pattern on paper inside a crisp 1px outline, with the
161
+ * pattern's tile pinned to the box rather than to the svg, so the texture
162
+ * starts the same way against the outline wherever the box sits.
163
+ */
164
+ export declare const EngravedRect: (props: EngravedRectProps) => import("react").JSX.Element;
165
+ interface PlateLabelProps {
166
+ /** Where `x` sits on the text. */
167
+ anchor?: "end" | "middle" | "start";
168
+ /** The text role, e.g. `t-value` (default) or `t-label`. */
169
+ className?: string;
170
+ /** On the ink hero: an ink plate with paper text. */
171
+ hero?: boolean;
172
+ /** A quieter lead-in before the text, in the axis voice: a series name before its value. */
173
+ lead?: string;
174
+ text: string;
175
+ x: number;
176
+ /** The text's vertical centre. */
177
+ y: number;
178
+ }
179
+ /**
180
+ * The one way to set text on a texture: a small paper plate cut out of the
181
+ * engraving, the text in ink on it (or an ink plate with paper text on the
182
+ * hero). Text over lines and marks, not a texture, keeps the `t-halo`.
183
+ */
184
+ export declare const PlateLabel: ({ anchor, className, hero, lead, text, x, y, }: PlateLabelProps) => import("react").JSX.Element;
185
+ export {};
@@ -0,0 +1,66 @@
1
+ import type { CSSProperties } from "react";
2
+ import type { FontMetrics } from "../schema/metrics.js";
3
+ import type { NoteNames } from "../schema/options.js";
4
+ import type { StaggerTier } from "./motion.js";
5
+ /** Join class names, skipping the empty and the switched-off. */
6
+ export declare const cx: (...names: (false | null | string | undefined)[]) => string;
7
+ export declare const clamp: (v: number, lo: number, hi: number) => number;
8
+ export declare const sum: (values: readonly number[]) => number;
9
+ /**
10
+ * The 7-day mean of a daily series, always over a full week: centred on each
11
+ * day, or trailing (the week ending on it). At the ends the window slides in
12
+ * rather than shrinking, so the line never lurches.
13
+ */
14
+ export declare const weeklyMean: (values: readonly number[], align?: "centred" | "trailing") => number[];
15
+ /** True when an optional string has content (a note, a label). */
16
+ export declare const hasText: (s: string | undefined) => s is string;
17
+ /**
18
+ * Entry-animation order: `i` places the mark in its group, `tier` sets the
19
+ * step between neighbours (a --stagger-* token). Without a tier each motion
20
+ * utility uses its own default.
21
+ */
22
+ export declare const stagger: (i: number, tier?: StaggerTier) => CSSProperties;
23
+ /**
24
+ * The default hover: the hovered record stays, the rest drop to 30%.
25
+ * Put it on every hoverable record group, dimmed or not, so it transitions.
26
+ */
27
+ export declare const dimClass: (dim: boolean) => string;
28
+ /** Rank of each value, 0 = largest (or smallest when `ascending`). */
29
+ export declare const ranks: (values: readonly number[], ascending?: boolean) => number[];
30
+ /** Line pitch of a wrapped footnote (measured with sansWidth, below). */
31
+ export declare const NOTE_LINE = 12;
32
+ /** Deterministic normal samples (Box–Muller over mulberry32), for demo data. */
33
+ export declare const normals: (seed: number, n: number, mean: number, sd: number) => number[];
34
+ /**
35
+ * Estimated width of a string in the Inter roles (`t-label`, `t-axis`) at
36
+ * `size` px, from a metrics table (Inter's unless the chart supplies its
37
+ * own). Errs slightly wide, so a label that "fits" really does. Never
38
+ * measures the DOM, so every environment gets the same answer.
39
+ */
40
+ export declare const sansWidth: (text: string, size?: number, metrics?: FontMetrics) => number;
41
+ /**
42
+ * Breaks a " · "-separated footnote into lines that fit `width`. Returns no
43
+ * lines (the note hides) when there is no text or when even one segment is
44
+ * wider than the room: a clipped footnote is worse than none.
45
+ */
46
+ export declare const noteLines: (text: string | undefined, width: number, metrics?: FontMetrics) => string[];
47
+ /**
48
+ * Vertical room to reserve for a footnote: `room` for its first line (the
49
+ * gap above it included) plus a line pitch per extra line; 0 when it hides.
50
+ */
51
+ export declare const noteSpace: (text: string | undefined, width: number, room: number, metrics?: FontMetrics) => number;
52
+ /**
53
+ * Greedy word wrap: lines no wider than `width` by `measure`. A single word
54
+ * wider than the room gets a line of its own (it is never split).
55
+ */
56
+ export declare const wrapWords: (text: string, width: number, measure: (s: string) => number) => string[];
57
+ /**
58
+ * A chart's in-plot note: `unitNote`, else the deprecated `note` it replaces.
59
+ * The one place the old name is read.
60
+ */
61
+ export declare const noteOf: (props: NoteNames) => string | undefined;
62
+ /**
63
+ * The size of one rung: `unit` as given, raised if a count of `largest` units
64
+ * would draw more rungs than a bar can show (a huge value, or a tiny unit).
65
+ */
66
+ export declare const countingUnit: (unit: number, largest: number) => number;
@@ -0,0 +1,22 @@
1
+ import type { ScaleLinear } from "d3-scale";
2
+ interface ValueGridProps {
3
+ /** Rules are drawn only above this y; the baseline itself is the chart's own. */
4
+ floor: number;
5
+ format: (v: number) => string;
6
+ /** Keep the label of a tick on or below `floor` (its rule is still the baseline's). */
7
+ labelFloor?: boolean;
8
+ /**
9
+ * Left (default): values right-aligned in the margin left of `x0`. Right:
10
+ * the financial page's value scale, each value right-aligned to `x1` and
11
+ * sitting on its rule, next to the latest data.
12
+ */
13
+ side?: "left" | "right";
14
+ /** Tick values, usually `y.ticks(n)`. */
15
+ ticks: readonly number[];
16
+ x0: number;
17
+ x1: number;
18
+ y: ScaleLinear<number, number>;
19
+ }
20
+ /** Solid 1px value rules across the plot, each with its value: the one value grid. */
21
+ export declare const ValueGrid: (props: ValueGridProps) => import("react").JSX.Element;
22
+ export {};
@@ -0,0 +1,279 @@
1
+ import type { ReactElement } from "react";
2
+ import type { Payload } from "./schema/validate.js";
3
+ /**
4
+ * Every chart by kind: `drawers.slope(payload)` validates the payload and
5
+ * returns the element, or throws with the issues. The second argument is
6
+ * props a host adds to the payload (a first-render width, say).
7
+ */
8
+ export declare const drawers: {
9
+ "dumbbell-queue": (payload: Payload, extra?: Partial<{
10
+ animate?: "mount" | "off" | "scroll" | undefined;
11
+ replayKey?: string | number | undefined;
12
+ fit?: boolean | undefined;
13
+ scale?: number | undefined;
14
+ strokes?: "device" | "proportional" | undefined;
15
+ idPrefix?: string | undefined;
16
+ metrics?: {
17
+ advances: Record<string, number>;
18
+ fallback: number;
19
+ tabular?: number | undefined;
20
+ } | undefined;
21
+ table?: boolean | undefined;
22
+ title?: string | undefined;
23
+ note?: string | undefined;
24
+ unitNote?: string | undefined;
25
+ alert?: "fall" | "rise" | undefined;
26
+ data: {
27
+ after: number;
28
+ before: number;
29
+ id?: string | undefined;
30
+ label: string;
31
+ }[];
32
+ emphasis?: string | undefined;
33
+ ends?: [string, string] | undefined;
34
+ format?: "compact" | "decimal" | "integer" | "percent" | {
35
+ compactDisplay?: "long" | "short" | undefined;
36
+ currency?: string | undefined;
37
+ locale?: string | undefined;
38
+ maximumFractionDigits?: number | undefined;
39
+ minimumFractionDigits?: number | undefined;
40
+ notation?: "compact" | "standard" | undefined;
41
+ signDisplay?: "always" | "auto" | "exceptZero" | "never" | undefined;
42
+ style?: "currency" | "decimal" | "percent" | "unit" | undefined;
43
+ unit?: string | undefined;
44
+ useGrouping?: boolean | undefined;
45
+ } | undefined;
46
+ height?: number | undefined;
47
+ initialWidth?: number | undefined;
48
+ unit?: number | undefined;
49
+ width?: number | undefined;
50
+ }>) => ReactElement;
51
+ "hairline-area": (payload: Payload, extra?: Partial<{
52
+ animate?: "mount" | "off" | "scroll" | undefined;
53
+ replayKey?: string | number | undefined;
54
+ fit?: boolean | undefined;
55
+ scale?: number | undefined;
56
+ strokes?: "device" | "proportional" | undefined;
57
+ idPrefix?: string | undefined;
58
+ metrics?: {
59
+ advances: Record<string, number>;
60
+ fallback: number;
61
+ tabular?: number | undefined;
62
+ } | undefined;
63
+ table?: boolean | undefined;
64
+ title?: string | undefined;
65
+ note?: string | undefined;
66
+ unitNote?: string | undefined;
67
+ data: {
68
+ date: string;
69
+ id?: string | undefined;
70
+ value: number | null;
71
+ }[];
72
+ dateFormat?: "day-month" | "day-month-year" | "month-year" | undefined;
73
+ emphasis?: string | undefined;
74
+ format?: "compact" | "decimal" | "integer" | "percent" | {
75
+ compactDisplay?: "long" | "short" | undefined;
76
+ currency?: string | undefined;
77
+ locale?: string | undefined;
78
+ maximumFractionDigits?: number | undefined;
79
+ minimumFractionDigits?: number | undefined;
80
+ notation?: "compact" | "standard" | undefined;
81
+ signDisplay?: "always" | "auto" | "exceptZero" | "never" | undefined;
82
+ style?: "currency" | "decimal" | "percent" | "unit" | undefined;
83
+ unit?: string | undefined;
84
+ useGrouping?: boolean | undefined;
85
+ } | undefined;
86
+ height?: number | undefined;
87
+ initialWidth?: number | undefined;
88
+ maxWidth?: number | undefined;
89
+ ticks?: number[] | undefined;
90
+ width?: number | undefined;
91
+ }>) => ReactElement;
92
+ "hairline-line": (payload: Payload, extra?: Partial<{
93
+ animate?: "mount" | "off" | "scroll" | undefined;
94
+ replayKey?: string | number | undefined;
95
+ fit?: boolean | undefined;
96
+ scale?: number | undefined;
97
+ strokes?: "device" | "proportional" | undefined;
98
+ idPrefix?: string | undefined;
99
+ metrics?: {
100
+ advances: Record<string, number>;
101
+ fallback: number;
102
+ tabular?: number | undefined;
103
+ } | undefined;
104
+ table?: boolean | undefined;
105
+ title?: string | undefined;
106
+ note?: string | undefined;
107
+ unitNote?: string | undefined;
108
+ data: {
109
+ date: string;
110
+ id?: string | undefined;
111
+ value: number | null;
112
+ }[];
113
+ dateFormat?: "day-month" | "day-month-year" | "month-year" | undefined;
114
+ emphasis?: string | undefined;
115
+ extreme?: "peak" | "trough" | undefined;
116
+ format?: "compact" | "decimal" | "integer" | "percent" | {
117
+ compactDisplay?: "long" | "short" | undefined;
118
+ currency?: string | undefined;
119
+ locale?: string | undefined;
120
+ maximumFractionDigits?: number | undefined;
121
+ minimumFractionDigits?: number | undefined;
122
+ notation?: "compact" | "standard" | undefined;
123
+ signDisplay?: "always" | "auto" | "exceptZero" | "never" | undefined;
124
+ style?: "currency" | "decimal" | "percent" | "unit" | undefined;
125
+ unit?: string | undefined;
126
+ useGrouping?: boolean | undefined;
127
+ } | undefined;
128
+ height?: number | undefined;
129
+ initialWidth?: number | undefined;
130
+ width?: number | undefined;
131
+ }>) => ReactElement;
132
+ "plumb-scatter": (payload: Payload, extra?: Partial<{
133
+ animate?: "mount" | "off" | "scroll" | undefined;
134
+ replayKey?: string | number | undefined;
135
+ fit?: boolean | undefined;
136
+ scale?: number | undefined;
137
+ strokes?: "device" | "proportional" | undefined;
138
+ idPrefix?: string | undefined;
139
+ metrics?: {
140
+ advances: Record<string, number>;
141
+ fallback: number;
142
+ tabular?: number | undefined;
143
+ } | undefined;
144
+ table?: boolean | undefined;
145
+ title?: string | undefined;
146
+ note?: string | undefined;
147
+ unitNote?: string | undefined;
148
+ data: {
149
+ id?: string | undefined;
150
+ label: string;
151
+ x: number;
152
+ y: number;
153
+ }[];
154
+ emphasis?: string | undefined;
155
+ format?: "compact" | "decimal" | "integer" | "percent" | {
156
+ compactDisplay?: "long" | "short" | undefined;
157
+ currency?: string | undefined;
158
+ locale?: string | undefined;
159
+ maximumFractionDigits?: number | undefined;
160
+ minimumFractionDigits?: number | undefined;
161
+ notation?: "compact" | "standard" | undefined;
162
+ signDisplay?: "always" | "auto" | "exceptZero" | "never" | undefined;
163
+ style?: "currency" | "decimal" | "percent" | "unit" | undefined;
164
+ unit?: string | undefined;
165
+ useGrouping?: boolean | undefined;
166
+ } | undefined;
167
+ formatX?: "compact" | "decimal" | "integer" | "percent" | {
168
+ compactDisplay?: "long" | "short" | undefined;
169
+ currency?: string | undefined;
170
+ locale?: string | undefined;
171
+ maximumFractionDigits?: number | undefined;
172
+ minimumFractionDigits?: number | undefined;
173
+ notation?: "compact" | "standard" | undefined;
174
+ signDisplay?: "always" | "auto" | "exceptZero" | "never" | undefined;
175
+ style?: "currency" | "decimal" | "percent" | "unit" | undefined;
176
+ unit?: string | undefined;
177
+ useGrouping?: boolean | undefined;
178
+ } | undefined;
179
+ height?: number | undefined;
180
+ initialWidth?: number | undefined;
181
+ labelled?: string[] | undefined;
182
+ width?: number | undefined;
183
+ xDomain?: [number, number] | undefined;
184
+ xLabels?: [string, string] | undefined;
185
+ yDomain?: [number, number] | undefined;
186
+ yLabel?: string | undefined;
187
+ }>) => ReactElement;
188
+ "rung-bars": (payload: Payload, extra?: Partial<{
189
+ animate?: "mount" | "off" | "scroll" | undefined;
190
+ replayKey?: string | number | undefined;
191
+ fit?: boolean | undefined;
192
+ scale?: number | undefined;
193
+ strokes?: "device" | "proportional" | undefined;
194
+ idPrefix?: string | undefined;
195
+ metrics?: {
196
+ advances: Record<string, number>;
197
+ fallback: number;
198
+ tabular?: number | undefined;
199
+ } | undefined;
200
+ table?: boolean | undefined;
201
+ title?: string | undefined;
202
+ note?: string | undefined;
203
+ unitNote?: string | undefined;
204
+ data: {
205
+ id?: string | undefined;
206
+ label: string;
207
+ value: number;
208
+ }[];
209
+ emphasis?: string | undefined;
210
+ format?: "compact" | "decimal" | "integer" | "percent" | {
211
+ compactDisplay?: "long" | "short" | undefined;
212
+ currency?: string | undefined;
213
+ locale?: string | undefined;
214
+ maximumFractionDigits?: number | undefined;
215
+ minimumFractionDigits?: number | undefined;
216
+ notation?: "compact" | "standard" | undefined;
217
+ signDisplay?: "always" | "auto" | "exceptZero" | "never" | undefined;
218
+ style?: "currency" | "decimal" | "percent" | "unit" | undefined;
219
+ unit?: string | undefined;
220
+ useGrouping?: boolean | undefined;
221
+ } | undefined;
222
+ height?: number | undefined;
223
+ initialWidth?: number | undefined;
224
+ unit?: number | undefined;
225
+ width?: number | undefined;
226
+ }>) => ReactElement;
227
+ slope: (payload: Payload, extra?: Partial<{
228
+ animate?: "mount" | "off" | "scroll" | undefined;
229
+ replayKey?: string | number | undefined;
230
+ fit?: boolean | undefined;
231
+ scale?: number | undefined;
232
+ strokes?: "device" | "proportional" | undefined;
233
+ idPrefix?: string | undefined;
234
+ metrics?: {
235
+ advances: Record<string, number>;
236
+ fallback: number;
237
+ tabular?: number | undefined;
238
+ } | undefined;
239
+ table?: boolean | undefined;
240
+ title?: string | undefined;
241
+ domain?: [number, number] | undefined;
242
+ emphasis?: string | undefined;
243
+ format?: "compact" | "decimal" | "integer" | "percent" | {
244
+ compactDisplay?: "long" | "short" | undefined;
245
+ currency?: string | undefined;
246
+ locale?: string | undefined;
247
+ maximumFractionDigits?: number | undefined;
248
+ minimumFractionDigits?: number | undefined;
249
+ notation?: "compact" | "standard" | undefined;
250
+ signDisplay?: "always" | "auto" | "exceptZero" | "never" | undefined;
251
+ style?: "currency" | "decimal" | "percent" | "unit" | undefined;
252
+ unit?: string | undefined;
253
+ useGrouping?: boolean | undefined;
254
+ } | undefined;
255
+ height?: number | undefined;
256
+ initialWidth?: number | undefined;
257
+ label?: string | undefined;
258
+ labels: [string, string];
259
+ narrowFormat?: "compact" | "decimal" | "integer" | "percent" | {
260
+ compactDisplay?: "long" | "short" | undefined;
261
+ currency?: string | undefined;
262
+ locale?: string | undefined;
263
+ maximumFractionDigits?: number | undefined;
264
+ minimumFractionDigits?: number | undefined;
265
+ notation?: "compact" | "standard" | undefined;
266
+ signDisplay?: "always" | "auto" | "exceptZero" | "never" | undefined;
267
+ style?: "currency" | "decimal" | "percent" | "unit" | undefined;
268
+ unit?: string | undefined;
269
+ useGrouping?: boolean | undefined;
270
+ } | undefined;
271
+ rows: {
272
+ from: number;
273
+ id?: string | undefined;
274
+ name: string;
275
+ to: number;
276
+ }[];
277
+ width?: number | undefined;
278
+ }>) => ReactElement;
279
+ };
@@ -0,0 +1,2 @@
1
+ export { DumbbellQueue } from "../charts/basics/dumbbell-queue.js";
2
+ export type { DumbbellDatum, DumbbellQueueData, DumbbellQueueProps, } from "../schema/dumbbell-queue.js";
@@ -0,0 +1,2 @@
1
+ export { HairlineArea } from "../charts/basics/hairline-area.js";
2
+ export type { HairlineAreaData, HairlineAreaProps, } from "../schema/hairline-area.js";
@@ -0,0 +1,2 @@
1
+ export { HairlineLine } from "../charts/basics/hairline-line.js";
2
+ export type { HairlineLineData, HairlineLineProps, } from "../schema/hairline-line.js";
@@ -0,0 +1,2 @@
1
+ export { PlumbScatter } from "../charts/basics/plumb-scatter.js";
2
+ export type { PlumbDatum, PlumbScatterData, PlumbScatterProps, } from "../schema/plumb-scatter.js";
@@ -0,0 +1,2 @@
1
+ export { RungBars } from "../charts/basics/rung-bars.js";
2
+ export type { RungDatum, RungBarsData, RungBarsProps, } from "../schema/rung-bars.js";
@@ -0,0 +1,2 @@
1
+ export { Slope } from "../charts/board/slope.js";
2
+ export type { SlopeRow, SlopeData, SlopeProps } from "../schema/slope.js";
@@ -0,0 +1,2 @@
1
+ export { Frame } from "./charts/frame.js";
2
+ export type { FrameProps } from "./charts/frame.js";