@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
package/lib/theme.css ADDED
@@ -0,0 +1,443 @@
1
+ @source "./charts";
2
+
3
+ /*
4
+ * Hairline's chart styles: the colour names, text roles, rules, motion and
5
+ * textures every chart draws with. Import it after Tailwind in the host's CSS:
6
+ *
7
+ * @import "tailwindcss";
8
+ * @import "@howells/hairline/tokens.css";
9
+ * @import "@howells/hairline/theme.css";
10
+ *
11
+ * The palette itself is CSS variables (tokens.css): override --hl-paper, --hl-ink,
12
+ * --hl-muted, --hl-rule, --hl-l0 … --hl-l6, --hl-hero and --hl-alert to match the host.
13
+ */
14
+ /*
15
+ * Palette variables (tokens.css) exposed as Tailwind colours, so markup reads
16
+ * `bg-paper text-muted fill-ink stroke-rule`. `inline` keeps them as live
17
+ * var() references, so palette switches and dark cards recolour utilities too.
18
+ */
19
+ @theme inline {
20
+ --color-paper: var(--hl-paper);
21
+ --color-panel: var(--hl-panel);
22
+ --color-ink: var(--hl-ink);
23
+ --color-text: var(--hl-text);
24
+ --color-muted: var(--hl-muted);
25
+ --color-faint: var(--hl-faint);
26
+ --color-grid: var(--hl-grid);
27
+ --color-rule: var(--hl-rule);
28
+ --color-l0: var(--hl-l0);
29
+ --color-l1: var(--hl-l1);
30
+ --color-l2: var(--hl-l2);
31
+ --color-l3: var(--hl-l3);
32
+ --color-l4: var(--hl-l4);
33
+ --color-l5: var(--hl-l5);
34
+ --color-l6: var(--hl-l6);
35
+ --color-hero: var(--hl-hero);
36
+ --color-hero-soft: var(--hl-hero-soft);
37
+ --color-alert: var(--hl-alert);
38
+ --color-alert-soft: var(--hl-alert-soft);
39
+ --color-alert-faded: var(--hl-alert-faded);
40
+ --color-alert-rule: var(--hl-alert-rule);
41
+ --color-cat-1: var(--hl-cat-1);
42
+ --color-cat-2: var(--hl-cat-2);
43
+ --color-cat-3: var(--hl-cat-3);
44
+ --color-cat-4: var(--hl-cat-4);
45
+ --color-heat-1: var(--hl-heat-1);
46
+ --color-heat-2: var(--hl-heat-2);
47
+ --color-heat-3: var(--hl-heat-3);
48
+ --color-heat-4: var(--hl-heat-4);
49
+ --color-heat-5: var(--hl-heat-5);
50
+
51
+ /* Board colours: only defined inside .surface-board. */
52
+ --color-s1: var(--hl-s1);
53
+ --color-s1-active: var(--hl-s1-active);
54
+ --color-s1-future: var(--hl-s1-future);
55
+ --color-s2: var(--hl-s2);
56
+ --color-s2-active: var(--hl-s2-active);
57
+ --color-s2-future: var(--hl-s2-future);
58
+ --color-s3: var(--hl-s3);
59
+ --color-s3-active: var(--hl-s3-active);
60
+ --color-s3-future: var(--hl-s3-future);
61
+ --color-line1: var(--hl-line1);
62
+ --color-line1-future: var(--hl-line1-future);
63
+ --color-line2: var(--hl-line2);
64
+ --color-line2-future: var(--hl-line2-future);
65
+ --color-area1: var(--hl-area1);
66
+ --color-area2: var(--hl-area2);
67
+ --color-area3: var(--hl-area3);
68
+ --color-band-past: var(--hl-band-past);
69
+ --color-band-future: var(--hl-band-future);
70
+ --color-red: var(--hl-red);
71
+ --color-red-past: var(--hl-red-past);
72
+ --color-red-future: var(--hl-red-future);
73
+ --color-red-soft: var(--hl-red-soft);
74
+ --color-red-rule: var(--hl-red-rule);
75
+ --color-board-bar: var(--hl-board-bar);
76
+ --color-board-label-2: var(--hl-board-label-2);
77
+ --color-board-swatch-3: var(--hl-board-swatch-3);
78
+ --color-board-link: var(--hl-board-link);
79
+ --color-board-link-hot: var(--hl-board-link-hot);
80
+ --color-board-hot: var(--hl-board-hot);
81
+
82
+ /*
83
+ * The type case: three sizes, five roles. Every chart word is 11px (the
84
+ * t-axis, t-label and t-value roles, told apart by weight); a chart may
85
+ * lead with one 30px figure (t-figure); the page around the charts (chart
86
+ * names, the header, sources) is 13.5px. howells/no-raw-type-utilities
87
+ * (oxlint.config.ts) rejects any other size, weight, leading or tracking.
88
+ */
89
+ --text-tick: 11px;
90
+ --text-figure: 30px;
91
+ --text-small: 13.5px;
92
+
93
+ --radius-tip: 10px;
94
+
95
+ --shadow-ring: inset 0 0 0 1px var(--hl-rule);
96
+ --shadow-hollow: inset 0 0 0 1.5px currentColor;
97
+ --shadow-swatch: 0 0 0 1px var(--hl-paper);
98
+
99
+ /* `stroke-medium`: board lines, between the 1px rule and 2px glance marks. */
100
+ --stroke-width-medium: 1.5;
101
+
102
+ /* The motion curves, from tokens.css, for `ease-enter` and kin. */
103
+ --ease-enter: var(--hl-ease-enter);
104
+ --ease-travel: var(--hl-ease-travel);
105
+ --ease-tone: var(--hl-ease-tone);
106
+ }
107
+
108
+ /*
109
+ * SVG text roles. Charts pick a role, never a font. Everything is Inter unless the host sets --hl-font, in
110
+ * sentence case, with tabular figures wherever numbers line up. Axis, label
111
+ * and value share one size and differ by weight and tone only; figure is the
112
+ * single big number a chart may lead with.
113
+ */
114
+ /* Ticks, scale labels, keys, units and notes. */
115
+ @utility t-axis {
116
+ fill: var(--hl-muted);
117
+ font-family: var(--hl-font, var(--font-sans));
118
+ font-size: --theme(--text-tick);
119
+ font-weight: 400;
120
+ font-variant-numeric: tabular-nums;
121
+ }
122
+
123
+ /* Category, series and place names. */
124
+ @utility t-label {
125
+ fill: var(--hl-text);
126
+ font-family: var(--hl-font, var(--font-sans));
127
+ font-size: --theme(--text-tick);
128
+ font-weight: 500;
129
+ }
130
+
131
+ /* Data values. */
132
+ @utility t-value {
133
+ fill: var(--hl-ink);
134
+ font-family: var(--hl-font, var(--font-sans));
135
+ font-size: --theme(--text-tick);
136
+ font-weight: 600;
137
+ font-variant-numeric: tabular-nums;
138
+ }
139
+
140
+ /* The one big figure a chart may lead with. */
141
+ @utility t-figure {
142
+ fill: var(--hl-ink);
143
+ font-family: var(--hl-font, var(--font-sans));
144
+ font-size: --theme(--text-figure);
145
+ font-weight: 600;
146
+ letter-spacing: -0.02em;
147
+ font-variant-numeric: tabular-nums;
148
+ }
149
+
150
+ /* Text over marks: a paper-coloured stroke behind the glyphs. */
151
+ @utility t-halo {
152
+ paint-order: stroke;
153
+ stroke: var(--hl-paper);
154
+ stroke-width: 3px;
155
+ stroke-linejoin: round;
156
+ }
157
+
158
+ /* Hover on anything whose colour (text, fill or stroke) and opacity both change. */
159
+ @utility transition-tone {
160
+ transition-property: color, fill, stroke, opacity;
161
+ transition-timing-function: var(--tw-ease, var(--hl-ease-tone));
162
+ transition-duration: var(--tw-duration, var(--hl-duration-hover));
163
+ }
164
+
165
+ /* Hover swell on SVG circles; no stock utility transitions `r`. */
166
+ @utility transition-radius {
167
+ transition-property: r;
168
+ transition-timing-function: var(--tw-ease, var(--hl-ease-tone));
169
+ transition-duration: var(--tw-duration, var(--hl-duration-hover));
170
+ }
171
+
172
+ /* Duration tokens as utilities, for transitions that aren't hover. */
173
+ @utility duration-change {
174
+ --tw-duration: var(--hl-duration-change);
175
+ transition-duration: var(--hl-duration-change);
176
+ }
177
+
178
+ @utility duration-enter {
179
+ --tw-duration: var(--hl-duration-enter);
180
+ transition-duration: var(--hl-duration-enter);
181
+ }
182
+
183
+ /* Baselines and axes: full ink, sharply distinct from the faint grid. */
184
+ @utility hairline {
185
+ stroke: var(--hl-ink);
186
+ stroke-width: 1;
187
+ shape-rendering: crispEdges;
188
+ }
189
+
190
+ /* Quiet structural rules: leaders, connectors, tracks, per-row lines. */
191
+ @utility rule {
192
+ stroke: var(--hl-rule);
193
+ stroke-width: 1;
194
+ shape-rendering: crispEdges;
195
+ }
196
+
197
+ /*
198
+ * The paper's grain, under everything on a surface: a very faint noise in the
199
+ * ink's colour. It sits behind the marks, never over them, so ink stays crisp.
200
+ */
201
+ @utility grain {
202
+ background-image: var(--hl-grain);
203
+ }
204
+
205
+ /* The grid: solid 1px hairlines in --hl-grid, snapped. Never dotted. */
206
+ @utility grid-line {
207
+ stroke: var(--hl-grid);
208
+ stroke-width: 1;
209
+ shape-rendering: crispEdges;
210
+ }
211
+
212
+ /* Pixel-snapped straight rules, or anti-aliased curves (e.g. a dotted ring). */
213
+ @utility shape-crisp {
214
+ shape-rendering: crispEdges;
215
+ }
216
+
217
+ @utility shape-smooth {
218
+ shape-rendering: auto;
219
+ }
220
+
221
+ /* The one dash: a target or SLA rule. Everything provisional is dotted (texture.tsx). */
222
+ @utility dash-rule {
223
+ stroke-dasharray: 4 3;
224
+ }
225
+
226
+ /* Round joins and caps for data lines. */
227
+ @utility cap-round {
228
+ stroke-linecap: round;
229
+ stroke-linejoin: round;
230
+ }
231
+
232
+ /*
233
+ * Entry motion. A Plot is .is-hidden until it scrolls into view, then
234
+ * .is-shown. Marks that appear in place arrive on --hl-ease-enter; lines and
235
+ * wipes that cross the chart travel on --hl-ease-travel. Durations and steps are
236
+ * the tokens in tokens.css. Order marks with stagger(i, tier) from charts/util.
237
+ *
238
+ * Bars and areas grow from scale 0 on purpose: that edge is their baseline,
239
+ * so the mark rises from the axis rather than appearing from a point.
240
+ *
241
+ * Under reduced motion nothing travels or fades: the marks are simply there
242
+ * in the first paint (see the note after the utilities). Hiding is for screens only: in
243
+ * print media an unrevealed plot is drawn in full, so an all-charts print page
244
+ * never exports blank. A plot with animation off (or under reduced motion once
245
+ * the page knows) carries neither class, and is simply drawn.
246
+ */
247
+ @keyframes grow-y {
248
+ from {
249
+ transform: scaleY(0);
250
+ }
251
+ }
252
+ @keyframes grow-x {
253
+ from {
254
+ transform: scaleX(0);
255
+ }
256
+ }
257
+ @keyframes pop {
258
+ from {
259
+ opacity: 0;
260
+ transform: scale(0.95);
261
+ }
262
+ }
263
+ @keyframes fade-in {
264
+ from {
265
+ opacity: 0;
266
+ }
267
+ }
268
+ /*
269
+ * The dash exists only while the line draws on: fill-mode is backwards, so
270
+ * once it ends the line is whole again (round caps and all) with no dash.
271
+ */
272
+ @keyframes draw {
273
+ from {
274
+ stroke-dasharray: 1;
275
+ stroke-dashoffset: 1;
276
+ }
277
+ to {
278
+ stroke-dasharray: 1;
279
+ stroke-dashoffset: 0;
280
+ }
281
+ }
282
+
283
+ @utility grow-y {
284
+ transform-box: fill-box;
285
+ transform-origin: 50% 100%;
286
+ @media screen and (prefers-reduced-motion: no-preference) {
287
+ :where(.is-hidden) & {
288
+ transform: scaleY(0);
289
+ }
290
+ :where(.is-shown) & {
291
+ animation: grow-y var(--hl-duration-grow) var(--hl-ease-enter) both;
292
+ animation-delay: calc(
293
+ var(--hl-i, 0) * var(--hl-stagger, var(--hl-stagger-mark))
294
+ );
295
+ }
296
+ }
297
+ }
298
+
299
+ @utility from-top {
300
+ &.grow-y {
301
+ transform-origin: 50% 0%;
302
+ }
303
+ }
304
+
305
+ @utility grow-x {
306
+ transform-box: fill-box;
307
+ transform-origin: 0% 50%;
308
+ @media screen and (prefers-reduced-motion: no-preference) {
309
+ :where(.is-hidden) & {
310
+ transform: scaleX(0);
311
+ }
312
+ :where(.is-shown) & {
313
+ animation: grow-x var(--hl-duration-grow) var(--hl-ease-enter) both;
314
+ animation-delay: calc(
315
+ var(--hl-i, 0) * var(--hl-stagger, var(--hl-stagger-mark))
316
+ );
317
+ }
318
+ }
319
+ }
320
+
321
+ @utility from-right {
322
+ &.grow-x {
323
+ transform-origin: 100% 50%;
324
+ }
325
+ }
326
+
327
+ @utility pop {
328
+ transform-box: fill-box;
329
+ transform-origin: 50% 50%;
330
+ @media screen and (prefers-reduced-motion: no-preference) {
331
+ :where(.is-hidden) & {
332
+ opacity: 0;
333
+ }
334
+ :where(.is-shown) & {
335
+ animation: pop var(--hl-duration-enter) var(--hl-ease-enter) both;
336
+ animation-delay: calc(
337
+ var(--hl-i, 0) * var(--hl-stagger, var(--hl-stagger-fine))
338
+ );
339
+ }
340
+ }
341
+ }
342
+
343
+ /* The left-to-right wipe that reveals board charts: one long arrival. */
344
+ @utility sweep {
345
+ transform-box: fill-box;
346
+ transform-origin: 0% 50%;
347
+ @media screen and (prefers-reduced-motion: no-preference) {
348
+ :where(.is-hidden) & {
349
+ transform: scaleX(0);
350
+ }
351
+ :where(.is-shown) & {
352
+ animation: grow-x var(--hl-duration-long) var(--hl-ease-travel) both;
353
+ }
354
+ }
355
+ }
356
+
357
+ @utility fade {
358
+ @media screen and (prefers-reduced-motion: no-preference) {
359
+ :where(.is-hidden) & {
360
+ opacity: 0;
361
+ }
362
+ :where(.is-shown) & {
363
+ animation: fade-in var(--hl-duration-enter) var(--hl-ease-enter) both;
364
+ animation-delay: calc(
365
+ var(--hl-i, 0) * var(--hl-stagger, var(--hl-stagger-mark)) +
366
+ var(--hl-fade-lag)
367
+ );
368
+ }
369
+ }
370
+ }
371
+
372
+ @utility draw {
373
+ @media screen and (prefers-reduced-motion: no-preference) {
374
+ :where(.is-hidden) & {
375
+ stroke-dasharray: 1;
376
+ stroke-dashoffset: 1;
377
+ }
378
+ :where(.is-shown) & {
379
+ animation: draw var(--hl-duration-long) var(--hl-ease-travel) backwards;
380
+ animation-delay: calc(
381
+ var(--hl-i, 0) * var(--hl-stagger, var(--hl-stagger-series))
382
+ );
383
+ }
384
+ }
385
+ }
386
+
387
+ /* A still plot (animation off) plays no entry: it is simply drawn. */
388
+ .is-still {
389
+ animation: none;
390
+ }
391
+
392
+ /*
393
+ * Under reduced motion the plot is drawn in the first paint: every hiding rule
394
+ * above sits under no-preference, so .is-hidden has no effect here and nothing
395
+ * fades or travels. `data-hl-ready` may still read "false" in the server HTML;
396
+ * it turns "true" once hydration has read the preference.
397
+ */
398
+
399
+ /*
400
+ * A chart's note (Frame, and the gallery cell): a popover hung below its (i) and
401
+ * running left, since the (i) ends a cell's caption row, or above it where
402
+ * it only fits above. A note that fits neither way scrolls inside the room
403
+ * below. Without anchor positioning it keeps the browser's own place, centred
404
+ * in the viewport. It settles 4px into place as it fades in; under reduced
405
+ * motion it is simply there.
406
+ */
407
+ @position-try --hl-note-scroll {
408
+ position-area: bottom span-left;
409
+ max-height: calc(100% - 1.5rem);
410
+ }
411
+
412
+ @utility note-pop {
413
+ width: min(20rem, calc(100vw - 2rem));
414
+ @supports (position-area: bottom) {
415
+ inset: auto;
416
+ margin: 0.625rem 0 0;
417
+ position-area: bottom span-left;
418
+ position-try-fallbacks: flip-block, --hl-note-scroll;
419
+ }
420
+ @media (prefers-reduced-motion: no-preference) {
421
+ transition:
422
+ opacity var(--hl-duration-hover) var(--hl-ease-enter),
423
+ translate var(--hl-duration-hover) var(--hl-ease-enter),
424
+ display var(--hl-duration-hover) allow-discrete,
425
+ overlay var(--hl-duration-hover) allow-discrete;
426
+ &:not(:popover-open) {
427
+ opacity: 0;
428
+ translate: 0 -4px;
429
+ }
430
+ @starting-style {
431
+ &:popover-open {
432
+ opacity: 0;
433
+ translate: 0 -4px;
434
+ }
435
+ }
436
+ }
437
+ }
438
+
439
+ /* Slide scale, one-device-pixel policy: the viewBox scales the composition but
440
+ every stroke stays one device pixel wide. */
441
+ svg[data-hl-strokes="device"] * {
442
+ vector-effect: non-scaling-stroke;
443
+ }
package/lib/theme.js ADDED
@@ -0,0 +1 @@
1
+ export { deriveTheme } from "./theme/derive.js";