graphein 0.19.0 → 0.21.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 (1006) hide show
  1. package/README.md +6 -0
  2. package/dist/a11y/apply.d.ts +10 -0
  3. package/dist/a11y/apply.d.ts.map +1 -0
  4. package/dist/a11y/apply.js +24 -0
  5. package/dist/a11y/apply.js.map +7 -0
  6. package/dist/a11y/describe.d.ts +26 -0
  7. package/dist/a11y/describe.d.ts.map +1 -0
  8. package/dist/a11y/describe.js +37 -0
  9. package/dist/a11y/describe.js.map +7 -0
  10. package/dist/a11y/index.d.ts +4 -0
  11. package/dist/a11y/index.d.ts.map +1 -0
  12. package/dist/a11y/index.js +4 -0
  13. package/dist/a11y/index.js.map +7 -0
  14. package/dist/a11y/table.d.ts +18 -0
  15. package/dist/a11y/table.d.ts.map +1 -0
  16. package/dist/a11y/table.js +72 -0
  17. package/dist/a11y/table.js.map +7 -0
  18. package/dist/analyze/autoInsights.d.ts +22 -0
  19. package/dist/analyze/autoInsights.d.ts.map +1 -0
  20. package/dist/analyze/autoInsights.js +63 -0
  21. package/dist/analyze/autoInsights.js.map +7 -0
  22. package/dist/analyze/index.d.ts +10 -0
  23. package/dist/analyze/index.d.ts.map +1 -0
  24. package/dist/analyze/index.js +6 -0
  25. package/dist/analyze/index.js.map +7 -0
  26. package/dist/analyze/insights.d.ts +142 -0
  27. package/dist/analyze/insights.d.ts.map +1 -0
  28. package/dist/analyze/insights.js +293 -0
  29. package/dist/analyze/insights.js.map +7 -0
  30. package/dist/analyze/recommend.d.ts +40 -0
  31. package/dist/analyze/recommend.d.ts.map +1 -0
  32. package/dist/analyze/recommend.js +717 -0
  33. package/dist/analyze/recommend.js.map +7 -0
  34. package/dist/analyze/regression.d.ts +26 -0
  35. package/dist/analyze/regression.d.ts.map +1 -0
  36. package/dist/analyze/regression.js +21 -0
  37. package/dist/analyze/regression.js.map +7 -0
  38. package/dist/analyze/summarize.d.ts +18 -0
  39. package/dist/analyze/summarize.d.ts.map +1 -0
  40. package/dist/analyze/summarize.js +122 -0
  41. package/dist/analyze/summarize.js.map +7 -0
  42. package/dist/animation/animate.d.ts +19 -0
  43. package/dist/animation/animate.d.ts.map +1 -0
  44. package/dist/animation/animate.js +68 -0
  45. package/dist/animation/animate.js.map +7 -0
  46. package/dist/animation/easing.d.ts +16 -0
  47. package/dist/animation/easing.d.ts.map +1 -0
  48. package/dist/animation/easing.js +116 -0
  49. package/dist/animation/easing.js.map +7 -0
  50. package/dist/animation/entrance.d.ts +31 -0
  51. package/dist/animation/entrance.d.ts.map +1 -0
  52. package/dist/animation/entrance.js +18 -0
  53. package/dist/animation/entrance.js.map +7 -0
  54. package/dist/animation/env.d.ts +7 -0
  55. package/dist/animation/env.d.ts.map +1 -0
  56. package/dist/animation/env.js +11 -0
  57. package/dist/animation/env.js.map +7 -0
  58. package/dist/animation/index.d.ts +8 -0
  59. package/dist/animation/index.d.ts.map +1 -0
  60. package/dist/animation/index.js +8 -0
  61. package/dist/animation/index.js.map +7 -0
  62. package/dist/animation/interpolate.d.ts +7 -0
  63. package/dist/animation/interpolate.d.ts.map +1 -0
  64. package/dist/animation/interpolate.js +62 -0
  65. package/dist/animation/interpolate.js.map +7 -0
  66. package/dist/animation/stagger.d.ts +13 -0
  67. package/dist/animation/stagger.d.ts.map +1 -0
  68. package/dist/animation/stagger.js +13 -0
  69. package/dist/animation/stagger.js.map +7 -0
  70. package/dist/animation/transition.d.ts +27 -0
  71. package/dist/animation/transition.d.ts.map +1 -0
  72. package/dist/animation/transition.js +18 -0
  73. package/dist/animation/transition.js.map +7 -0
  74. package/dist/axes/draw.d.ts +20 -0
  75. package/dist/axes/draw.d.ts.map +1 -0
  76. package/dist/axes/draw.js +164 -0
  77. package/dist/axes/draw.js.map +7 -0
  78. package/dist/axes/index.d.ts +2 -0
  79. package/dist/axes/index.d.ts.map +1 -0
  80. package/dist/axes/index.js +2 -0
  81. package/dist/axes/index.js.map +7 -0
  82. package/dist/axes/legend.d.ts +5 -0
  83. package/dist/axes/legend.d.ts.map +1 -0
  84. package/dist/axes/legend.js +165 -0
  85. package/dist/axes/legend.js.map +7 -0
  86. package/dist/axes/morph.d.ts +111 -0
  87. package/dist/axes/morph.d.ts.map +1 -0
  88. package/dist/axes/morph.js +207 -0
  89. package/dist/axes/morph.js.map +7 -0
  90. package/dist/axes/overlay.d.ts +5 -0
  91. package/dist/axes/overlay.d.ts.map +1 -0
  92. package/dist/axes/overlay.js +193 -0
  93. package/dist/axes/overlay.js.map +7 -0
  94. package/dist/axes/text.d.ts +29 -0
  95. package/dist/axes/text.d.ts.map +1 -0
  96. package/dist/axes/text.js +61 -0
  97. package/dist/axes/text.js.map +7 -0
  98. package/dist/axes/tickLabels.d.ts +42 -0
  99. package/dist/axes/tickLabels.d.ts.map +1 -0
  100. package/dist/axes/tickLabels.js +131 -0
  101. package/dist/axes/tickLabels.js.map +7 -0
  102. package/dist/axes/title.d.ts +7 -0
  103. package/dist/axes/title.d.ts.map +1 -0
  104. package/dist/axes/title.js +151 -0
  105. package/dist/axes/title.js.map +7 -0
  106. package/dist/charts/annotations.d.ts +28 -0
  107. package/dist/charts/annotations.d.ts.map +1 -0
  108. package/dist/charts/annotations.js +288 -0
  109. package/dist/charts/annotations.js.map +7 -0
  110. package/dist/charts/area.d.ts +50 -0
  111. package/dist/charts/area.d.ts.map +1 -0
  112. package/dist/charts/area.js +291 -0
  113. package/dist/charts/area.js.map +7 -0
  114. package/dist/charts/bar.d.ts +57 -0
  115. package/dist/charts/bar.d.ts.map +1 -0
  116. package/dist/charts/bar.js +240 -0
  117. package/dist/charts/bar.js.map +7 -0
  118. package/dist/charts/boundary.d.ts +7 -0
  119. package/dist/charts/boundary.d.ts.map +1 -0
  120. package/dist/charts/boundary.js +37 -0
  121. package/dist/charts/boundary.js.map +7 -0
  122. package/dist/charts/box.d.ts +72 -0
  123. package/dist/charts/box.d.ts.map +1 -0
  124. package/dist/charts/box.js +326 -0
  125. package/dist/charts/box.js.map +7 -0
  126. package/dist/charts/bubbleMap.d.ts +20 -0
  127. package/dist/charts/bubbleMap.d.ts.map +1 -0
  128. package/dist/charts/bubbleMap.js +951 -0
  129. package/dist/charts/bubbleMap.js.map +7 -0
  130. package/dist/charts/bullet.d.ts +9 -0
  131. package/dist/charts/bullet.d.ts.map +1 -0
  132. package/dist/charts/bullet.js +257 -0
  133. package/dist/charts/bullet.js.map +7 -0
  134. package/dist/charts/calendarHeatmap.d.ts +36 -0
  135. package/dist/charts/calendarHeatmap.d.ts.map +1 -0
  136. package/dist/charts/calendarHeatmap.js +416 -0
  137. package/dist/charts/calendarHeatmap.js.map +7 -0
  138. package/dist/charts/candlestick.d.ts +40 -0
  139. package/dist/charts/candlestick.d.ts.map +1 -0
  140. package/dist/charts/candlestick.js +325 -0
  141. package/dist/charts/candlestick.js.map +7 -0
  142. package/dist/charts/choropleth.d.ts +8 -0
  143. package/dist/charts/choropleth.d.ts.map +1 -0
  144. package/dist/charts/choropleth.js +378 -0
  145. package/dist/charts/choropleth.js.map +7 -0
  146. package/dist/charts/chrome.d.ts +90 -0
  147. package/dist/charts/chrome.d.ts.map +1 -0
  148. package/dist/charts/chrome.js +253 -0
  149. package/dist/charts/chrome.js.map +7 -0
  150. package/dist/charts/colorRamp.d.ts +15 -0
  151. package/dist/charts/colorRamp.d.ts.map +1 -0
  152. package/dist/charts/colorRamp.js +84 -0
  153. package/dist/charts/colorRamp.js.map +7 -0
  154. package/dist/charts/combo.d.ts +16 -0
  155. package/dist/charts/combo.d.ts.map +1 -0
  156. package/dist/charts/combo.js +312 -0
  157. package/dist/charts/combo.js.map +7 -0
  158. package/dist/charts/condFormat.d.ts +18 -0
  159. package/dist/charts/condFormat.d.ts.map +1 -0
  160. package/dist/charts/condFormat.js +88 -0
  161. package/dist/charts/condFormat.js.map +7 -0
  162. package/dist/charts/domIds.d.ts +2 -0
  163. package/dist/charts/domIds.d.ts.map +1 -0
  164. package/dist/charts/domIds.js +13 -0
  165. package/dist/charts/domIds.js.map +7 -0
  166. package/dist/charts/dumbbell.d.ts +8 -0
  167. package/dist/charts/dumbbell.d.ts.map +1 -0
  168. package/dist/charts/dumbbell.js +389 -0
  169. package/dist/charts/dumbbell.js.map +7 -0
  170. package/dist/charts/emphasis.d.ts +30 -0
  171. package/dist/charts/emphasis.d.ts.map +1 -0
  172. package/dist/charts/emphasis.js +27 -0
  173. package/dist/charts/emphasis.js.map +7 -0
  174. package/dist/charts/emptyOverlay.d.ts +5 -0
  175. package/dist/charts/emptyOverlay.d.ts.map +1 -0
  176. package/dist/charts/emptyOverlay.js +16 -0
  177. package/dist/charts/emptyOverlay.js.map +7 -0
  178. package/dist/charts/fill.d.ts +19 -0
  179. package/dist/charts/fill.d.ts.map +1 -0
  180. package/dist/charts/fill.js +32 -0
  181. package/dist/charts/fill.js.map +7 -0
  182. package/dist/charts/funnel.d.ts +20 -0
  183. package/dist/charts/funnel.d.ts.map +1 -0
  184. package/dist/charts/funnel.js +365 -0
  185. package/dist/charts/funnel.js.map +7 -0
  186. package/dist/charts/gantt.d.ts +22 -0
  187. package/dist/charts/gantt.d.ts.map +1 -0
  188. package/dist/charts/gantt.js +564 -0
  189. package/dist/charts/gantt.js.map +7 -0
  190. package/dist/charts/gauge.d.ts +8 -0
  191. package/dist/charts/gauge.d.ts.map +1 -0
  192. package/dist/charts/gauge.js +330 -0
  193. package/dist/charts/gauge.js.map +7 -0
  194. package/dist/charts/geo.d.ts +87 -0
  195. package/dist/charts/geo.d.ts.map +1 -0
  196. package/dist/charts/geo.js +140 -0
  197. package/dist/charts/geo.js.map +7 -0
  198. package/dist/charts/geometry.d.ts +20 -0
  199. package/dist/charts/geometry.d.ts.map +1 -0
  200. package/dist/charts/geometry.js +25 -0
  201. package/dist/charts/geometry.js.map +7 -0
  202. package/dist/charts/heatmap.d.ts +9 -0
  203. package/dist/charts/heatmap.d.ts.map +1 -0
  204. package/dist/charts/heatmap.js +398 -0
  205. package/dist/charts/heatmap.js.map +7 -0
  206. package/dist/charts/histogram.d.ts +15 -0
  207. package/dist/charts/histogram.d.ts.map +1 -0
  208. package/dist/charts/histogram.js +109 -0
  209. package/dist/charts/histogram.js.map +7 -0
  210. package/dist/charts/index.d.ts +135 -0
  211. package/dist/charts/index.d.ts.map +1 -0
  212. package/dist/charts/index.js +106 -0
  213. package/dist/charts/index.js.map +7 -0
  214. package/dist/charts/kpi.d.ts +24 -0
  215. package/dist/charts/kpi.d.ts.map +1 -0
  216. package/dist/charts/kpi.js +782 -0
  217. package/dist/charts/kpi.js.map +7 -0
  218. package/dist/charts/labelLayout.d.ts +3 -0
  219. package/dist/charts/labelLayout.d.ts.map +1 -0
  220. package/dist/charts/labelLayout.js +25 -0
  221. package/dist/charts/labelLayout.js.map +7 -0
  222. package/dist/charts/legibility.d.ts +38 -0
  223. package/dist/charts/legibility.d.ts.map +1 -0
  224. package/dist/charts/legibility.js +72 -0
  225. package/dist/charts/legibility.js.map +7 -0
  226. package/dist/charts/line.d.ts +46 -0
  227. package/dist/charts/line.d.ts.map +1 -0
  228. package/dist/charts/line.js +312 -0
  229. package/dist/charts/line.js.map +7 -0
  230. package/dist/charts/matrix.d.ts +7 -0
  231. package/dist/charts/matrix.d.ts.map +1 -0
  232. package/dist/charts/matrix.js +379 -0
  233. package/dist/charts/matrix.js.map +7 -0
  234. package/dist/charts/morphFrame.d.ts +83 -0
  235. package/dist/charts/morphFrame.d.ts.map +1 -0
  236. package/dist/charts/morphFrame.js +128 -0
  237. package/dist/charts/morphFrame.js.map +7 -0
  238. package/dist/charts/noData.d.ts +6 -0
  239. package/dist/charts/noData.d.ts.map +1 -0
  240. package/dist/charts/noData.js +17 -0
  241. package/dist/charts/noData.js.map +7 -0
  242. package/dist/charts/pie.d.ts +8 -0
  243. package/dist/charts/pie.d.ts.map +1 -0
  244. package/dist/charts/pie.js +496 -0
  245. package/dist/charts/pie.js.map +7 -0
  246. package/dist/charts/pieLabels.d.ts +84 -0
  247. package/dist/charts/pieLabels.d.ts.map +1 -0
  248. package/dist/charts/pieLabels.js +207 -0
  249. package/dist/charts/pieLabels.js.map +7 -0
  250. package/dist/charts/pieState.d.ts +27 -0
  251. package/dist/charts/pieState.d.ts.map +1 -0
  252. package/dist/charts/pieState.js +55 -0
  253. package/dist/charts/pieState.js.map +7 -0
  254. package/dist/charts/pointMarkers.d.ts +22 -0
  255. package/dist/charts/pointMarkers.d.ts.map +1 -0
  256. package/dist/charts/pointMarkers.js +38 -0
  257. package/dist/charts/pointMarkers.js.map +7 -0
  258. package/dist/charts/radar.d.ts +62 -0
  259. package/dist/charts/radar.d.ts.map +1 -0
  260. package/dist/charts/radar.js +912 -0
  261. package/dist/charts/radar.js.map +7 -0
  262. package/dist/charts/radialBar.d.ts +60 -0
  263. package/dist/charts/radialBar.d.ts.map +1 -0
  264. package/dist/charts/radialBar.js +708 -0
  265. package/dist/charts/radialBar.js.map +7 -0
  266. package/dist/charts/sankey.d.ts +44 -0
  267. package/dist/charts/sankey.d.ts.map +1 -0
  268. package/dist/charts/sankey.js +822 -0
  269. package/dist/charts/sankey.js.map +7 -0
  270. package/dist/charts/scatter.d.ts +42 -0
  271. package/dist/charts/scatter.d.ts.map +1 -0
  272. package/dist/charts/scatter.js +183 -0
  273. package/dist/charts/scatter.js.map +7 -0
  274. package/dist/charts/slicers/common.d.ts +61 -0
  275. package/dist/charts/slicers/common.d.ts.map +1 -0
  276. package/dist/charts/slicers/common.js +142 -0
  277. package/dist/charts/slicers/common.js.map +7 -0
  278. package/dist/charts/slicers/dateRange.d.ts +15 -0
  279. package/dist/charts/slicers/dateRange.d.ts.map +1 -0
  280. package/dist/charts/slicers/dateRange.js +243 -0
  281. package/dist/charts/slicers/dateRange.js.map +7 -0
  282. package/dist/charts/slicers/dropdown.d.ts +14 -0
  283. package/dist/charts/slicers/dropdown.d.ts.map +1 -0
  284. package/dist/charts/slicers/dropdown.js +320 -0
  285. package/dist/charts/slicers/dropdown.js.map +7 -0
  286. package/dist/charts/slicers/index.d.ts +12 -0
  287. package/dist/charts/slicers/index.d.ts.map +1 -0
  288. package/dist/charts/slicers/index.js +27 -0
  289. package/dist/charts/slicers/index.js.map +7 -0
  290. package/dist/charts/slicers/list.d.ts +14 -0
  291. package/dist/charts/slicers/list.d.ts.map +1 -0
  292. package/dist/charts/slicers/list.js +340 -0
  293. package/dist/charts/slicers/list.js.map +7 -0
  294. package/dist/charts/slicers/range.d.ts +14 -0
  295. package/dist/charts/slicers/range.d.ts.map +1 -0
  296. package/dist/charts/slicers/range.js +137 -0
  297. package/dist/charts/slicers/range.js.map +7 -0
  298. package/dist/charts/slicers/search.d.ts +14 -0
  299. package/dist/charts/slicers/search.d.ts.map +1 -0
  300. package/dist/charts/slicers/search.js +105 -0
  301. package/dist/charts/slicers/search.js.map +7 -0
  302. package/dist/charts/slope.d.ts +14 -0
  303. package/dist/charts/slope.d.ts.map +1 -0
  304. package/dist/charts/slope.js +316 -0
  305. package/dist/charts/slope.js.map +7 -0
  306. package/dist/charts/sunburst.d.ts +14 -0
  307. package/dist/charts/sunburst.d.ts.map +1 -0
  308. package/dist/charts/sunburst.js +885 -0
  309. package/dist/charts/sunburst.js.map +7 -0
  310. package/dist/charts/table.d.ts +6 -0
  311. package/dist/charts/table.d.ts.map +1 -0
  312. package/dist/charts/table.js +324 -0
  313. package/dist/charts/table.js.map +7 -0
  314. package/dist/charts/tableView/canvas.d.ts +3 -0
  315. package/dist/charts/tableView/canvas.d.ts.map +1 -0
  316. package/dist/charts/tableView/canvas.js +314 -0
  317. package/dist/charts/tableView/canvas.js.map +7 -0
  318. package/dist/charts/tableView/conditional.d.ts +51 -0
  319. package/dist/charts/tableView/conditional.d.ts.map +1 -0
  320. package/dist/charts/tableView/conditional.js +285 -0
  321. package/dist/charts/tableView/conditional.js.map +7 -0
  322. package/dist/charts/tableView/dom.d.ts +3 -0
  323. package/dist/charts/tableView/dom.d.ts.map +1 -0
  324. package/dist/charts/tableView/dom.js +299 -0
  325. package/dist/charts/tableView/dom.js.map +7 -0
  326. package/dist/charts/tableView/sketch.d.ts +38 -0
  327. package/dist/charts/tableView/sketch.d.ts.map +1 -0
  328. package/dist/charts/tableView/sketch.js +74 -0
  329. package/dist/charts/tableView/sketch.js.map +7 -0
  330. package/dist/charts/tableView/types.d.ts +103 -0
  331. package/dist/charts/tableView/types.d.ts.map +1 -0
  332. package/dist/charts/tableView/types.js +118 -0
  333. package/dist/charts/tableView/types.js.map +7 -0
  334. package/dist/charts/tableView.d.ts +7 -0
  335. package/dist/charts/tableView.d.ts.map +1 -0
  336. package/dist/charts/tableView.js +16 -0
  337. package/dist/charts/tableView.js.map +7 -0
  338. package/dist/charts/treemap.d.ts +17 -0
  339. package/dist/charts/treemap.d.ts.map +1 -0
  340. package/dist/charts/treemap.js +513 -0
  341. package/dist/charts/treemap.js.map +7 -0
  342. package/dist/charts/trendline.d.ts +33 -0
  343. package/dist/charts/trendline.d.ts.map +1 -0
  344. package/dist/charts/trendline.js +274 -0
  345. package/dist/charts/trendline.js.map +7 -0
  346. package/dist/charts/waterfall.d.ts +17 -0
  347. package/dist/charts/waterfall.d.ts.map +1 -0
  348. package/dist/charts/waterfall.js +277 -0
  349. package/dist/charts/waterfall.js.map +7 -0
  350. package/dist/color/contrast.d.ts +16 -0
  351. package/dist/color/contrast.d.ts.map +1 -0
  352. package/dist/color/contrast.js +37 -0
  353. package/dist/color/contrast.js.map +7 -0
  354. package/dist/color/convert.d.ts +26 -0
  355. package/dist/color/convert.d.ts.map +1 -0
  356. package/dist/color/convert.js +59 -0
  357. package/dist/color/convert.js.map +7 -0
  358. package/dist/color/format.d.ts +11 -0
  359. package/dist/color/format.d.ts.map +1 -0
  360. package/dist/color/format.js +28 -0
  361. package/dist/color/format.js.map +7 -0
  362. package/dist/color/index.d.ts +8 -0
  363. package/dist/color/index.d.ts.map +1 -0
  364. package/dist/color/index.js +8 -0
  365. package/dist/color/index.js.map +7 -0
  366. package/dist/color/interpolate.d.ts +10 -0
  367. package/dist/color/interpolate.d.ts.map +1 -0
  368. package/dist/color/interpolate.js +32 -0
  369. package/dist/color/interpolate.js.map +7 -0
  370. package/dist/color/palettes.d.ts +21 -0
  371. package/dist/color/palettes.d.ts.map +1 -0
  372. package/dist/color/palettes.js +112 -0
  373. package/dist/color/palettes.js.map +7 -0
  374. package/dist/color/parse.d.ts +8 -0
  375. package/dist/color/parse.d.ts.map +1 -0
  376. package/dist/color/parse.js +115 -0
  377. package/dist/color/parse.js.map +7 -0
  378. package/dist/color/scales.d.ts +23 -0
  379. package/dist/color/scales.d.ts.map +1 -0
  380. package/dist/color/scales.js +60 -0
  381. package/dist/color/scales.js.map +7 -0
  382. package/dist/decimate/index.d.ts +2 -0
  383. package/dist/decimate/index.d.ts.map +1 -0
  384. package/dist/decimate/index.js +6 -0
  385. package/dist/decimate/index.js.map +7 -0
  386. package/dist/decimate/lttb.d.ts +29 -0
  387. package/dist/decimate/lttb.d.ts.map +1 -0
  388. package/dist/decimate/lttb.js +118 -0
  389. package/dist/decimate/lttb.js.map +7 -0
  390. package/dist/format/date.d.ts +14 -0
  391. package/dist/format/date.d.ts.map +1 -0
  392. package/dist/format/date.js +81 -0
  393. package/dist/format/date.js.map +7 -0
  394. package/dist/format/index.d.ts +26 -0
  395. package/dist/format/index.d.ts.map +1 -0
  396. package/dist/format/index.js +53 -0
  397. package/dist/format/index.js.map +7 -0
  398. package/dist/format/number.d.ts +29 -0
  399. package/dist/format/number.d.ts.map +1 -0
  400. package/dist/format/number.js +122 -0
  401. package/dist/format/number.js.map +7 -0
  402. package/dist/index.d.ts +60 -4941
  403. package/dist/index.d.ts.map +1 -0
  404. package/dist/index.js +239 -25798
  405. package/dist/index.js.map +7 -1
  406. package/dist/interaction/cartesian.d.ts +19 -0
  407. package/dist/interaction/cartesian.d.ts.map +1 -0
  408. package/dist/interaction/cartesian.js +370 -0
  409. package/dist/interaction/cartesian.js.map +7 -0
  410. package/dist/interaction/controller.d.ts +76 -0
  411. package/dist/interaction/controller.d.ts.map +1 -0
  412. package/dist/interaction/controller.js +249 -0
  413. package/dist/interaction/controller.js.map +7 -0
  414. package/dist/interaction/focus.d.ts +23 -0
  415. package/dist/interaction/focus.d.ts.map +1 -0
  416. package/dist/interaction/focus.js +65 -0
  417. package/dist/interaction/focus.js.map +7 -0
  418. package/dist/interaction/index.d.ts +16 -0
  419. package/dist/interaction/index.d.ts.map +1 -0
  420. package/dist/interaction/index.js +40 -0
  421. package/dist/interaction/index.js.map +7 -0
  422. package/dist/interaction/predicate.d.ts +29 -0
  423. package/dist/interaction/predicate.d.ts.map +1 -0
  424. package/dist/interaction/predicate.js +132 -0
  425. package/dist/interaction/predicate.js.map +7 -0
  426. package/dist/interaction/select.d.ts +37 -0
  427. package/dist/interaction/select.d.ts.map +1 -0
  428. package/dist/interaction/select.js +78 -0
  429. package/dist/interaction/select.js.map +7 -0
  430. package/dist/interaction/store.d.ts +32 -0
  431. package/dist/interaction/store.d.ts.map +1 -0
  432. package/dist/interaction/store.js +99 -0
  433. package/dist/interaction/store.js.map +7 -0
  434. package/dist/interaction/tooltip.d.ts +33 -0
  435. package/dist/interaction/tooltip.d.ts.map +1 -0
  436. package/dist/interaction/tooltip.js +157 -0
  437. package/dist/interaction/tooltip.js.map +7 -0
  438. package/dist/interaction/types.d.ts +104 -0
  439. package/dist/interaction/types.d.ts.map +1 -0
  440. package/dist/interaction/types.js +1 -0
  441. package/dist/interaction/types.js.map +7 -0
  442. package/dist/interaction/veil.d.ts +25 -0
  443. package/dist/interaction/veil.d.ts.map +1 -0
  444. package/dist/interaction/veil.js +35 -0
  445. package/dist/interaction/veil.js.map +7 -0
  446. package/dist/internal.d.ts +28 -0
  447. package/dist/internal.d.ts.map +1 -0
  448. package/dist/internal.js +21 -0
  449. package/dist/internal.js.map +7 -0
  450. package/dist/layout/frame.d.ts +133 -0
  451. package/dist/layout/frame.d.ts.map +1 -0
  452. package/dist/layout/frame.js +322 -0
  453. package/dist/layout/frame.js.map +7 -0
  454. package/dist/layout/index.d.ts +2 -0
  455. package/dist/layout/index.d.ts.map +1 -0
  456. package/dist/layout/index.js +2 -0
  457. package/dist/layout/index.js.map +7 -0
  458. package/dist/pivot/index.d.ts +2 -0
  459. package/dist/pivot/index.d.ts.map +1 -0
  460. package/dist/pivot/index.js +2 -0
  461. package/dist/pivot/index.js.map +7 -0
  462. package/dist/pivot/pivot.d.ts +61 -0
  463. package/dist/pivot/pivot.d.ts.map +1 -0
  464. package/dist/pivot/pivot.js +447 -0
  465. package/dist/pivot/pivot.js.map +7 -0
  466. package/dist/render/canvasLayer.d.ts +24 -0
  467. package/dist/render/canvasLayer.d.ts.map +1 -0
  468. package/dist/render/canvasLayer.js +84 -0
  469. package/dist/render/canvasLayer.js.map +7 -0
  470. package/dist/render/chromeMotion.d.ts +65 -0
  471. package/dist/render/chromeMotion.d.ts.map +1 -0
  472. package/dist/render/chromeMotion.js +79 -0
  473. package/dist/render/chromeMotion.js.map +7 -0
  474. package/dist/render/controls.d.ts +114 -0
  475. package/dist/render/controls.d.ts.map +1 -0
  476. package/dist/render/controls.js +467 -0
  477. package/dist/render/controls.js.map +7 -0
  478. package/dist/render/dom.d.ts +9 -0
  479. package/dist/render/dom.d.ts.map +1 -0
  480. package/dist/render/dom.js +32 -0
  481. package/dist/render/dom.js.map +7 -0
  482. package/dist/render/env.d.ts +5 -0
  483. package/dist/render/env.d.ts.map +1 -0
  484. package/dist/render/env.js +10 -0
  485. package/dist/render/env.js.map +7 -0
  486. package/dist/render/evidence.d.ts +126 -0
  487. package/dist/render/evidence.d.ts.map +1 -0
  488. package/dist/render/evidence.js +221 -0
  489. package/dist/render/evidence.js.map +7 -0
  490. package/dist/render/fonts.d.ts +23 -0
  491. package/dist/render/fonts.d.ts.map +1 -0
  492. package/dist/render/fonts.js +36 -0
  493. package/dist/render/fonts.js.map +7 -0
  494. package/dist/render/index.d.ts +9 -0
  495. package/dist/render/index.d.ts.map +1 -0
  496. package/dist/render/index.js +9 -0
  497. package/dist/render/index.js.map +7 -0
  498. package/dist/render/labelLedger.d.ts +114 -0
  499. package/dist/render/labelLedger.d.ts.map +1 -0
  500. package/dist/render/labelLedger.js +237 -0
  501. package/dist/render/labelLedger.js.map +7 -0
  502. package/dist/render/metrics.d.ts +43 -0
  503. package/dist/render/metrics.d.ts.map +1 -0
  504. package/dist/render/metrics.js +46 -0
  505. package/dist/render/metrics.js.map +7 -0
  506. package/dist/render/overlayText.d.ts +69 -0
  507. package/dist/render/overlayText.d.ts.map +1 -0
  508. package/dist/render/overlayText.js +99 -0
  509. package/dist/render/overlayText.js.map +7 -0
  510. package/dist/render/pathSample.d.ts +24 -0
  511. package/dist/render/pathSample.d.ts.map +1 -0
  512. package/dist/render/pathSample.js +76 -0
  513. package/dist/render/pathSample.js.map +7 -0
  514. package/dist/render/sizing.d.ts +31 -0
  515. package/dist/render/sizing.d.ts.map +1 -0
  516. package/dist/render/sizing.js +36 -0
  517. package/dist/render/sizing.js.map +7 -0
  518. package/dist/render/surface.d.ts +49 -0
  519. package/dist/render/surface.d.ts.map +1 -0
  520. package/dist/render/surface.js +107 -0
  521. package/dist/render/surface.js.map +7 -0
  522. package/dist/render/text.d.ts +27 -0
  523. package/dist/render/text.d.ts.map +1 -0
  524. package/dist/render/text.js +88 -0
  525. package/dist/render/text.js.map +7 -0
  526. package/dist/render/transient.d.ts +18 -0
  527. package/dist/render/transient.d.ts.map +1 -0
  528. package/dist/render/transient.js +19 -0
  529. package/dist/render/transient.js.map +7 -0
  530. package/dist/rough/draw.d.ts +93 -0
  531. package/dist/rough/draw.d.ts.map +1 -0
  532. package/dist/rough/draw.js +259 -0
  533. package/dist/rough/draw.js.map +7 -0
  534. package/dist/rough/geom.d.ts +26 -0
  535. package/dist/rough/geom.d.ts.map +1 -0
  536. package/dist/rough/geom.js +82 -0
  537. package/dist/rough/geom.js.map +7 -0
  538. package/dist/rough/index.d.ts +10 -0
  539. package/dist/rough/index.d.ts.map +1 -0
  540. package/dist/rough/index.js +17 -0
  541. package/dist/rough/index.js.map +7 -0
  542. package/dist/rough/rng.d.ts +20 -0
  543. package/dist/rough/rng.d.ts.map +1 -0
  544. package/dist/rough/rng.js +22 -0
  545. package/dist/rough/rng.js.map +7 -0
  546. package/dist/rough/types.d.ts +41 -0
  547. package/dist/rough/types.d.ts.map +1 -0
  548. package/dist/rough/types.js +13 -0
  549. package/dist/rough/types.js.map +7 -0
  550. package/dist/runtime/candlestick.d.ts +112 -0
  551. package/dist/runtime/candlestick.d.ts.map +1 -0
  552. package/dist/runtime/candlestick.js +531 -0
  553. package/dist/runtime/candlestick.js.map +7 -0
  554. package/dist/runtime/cartesian.d.ts +149 -0
  555. package/dist/runtime/cartesian.d.ts.map +1 -0
  556. package/dist/runtime/cartesian.js +528 -0
  557. package/dist/runtime/cartesian.js.map +7 -0
  558. package/dist/runtime/categories.d.ts +11 -0
  559. package/dist/runtime/categories.d.ts.map +1 -0
  560. package/dist/runtime/categories.js +45 -0
  561. package/dist/runtime/categories.js.map +7 -0
  562. package/dist/runtime/chartAnimation.d.ts +92 -0
  563. package/dist/runtime/chartAnimation.d.ts.map +1 -0
  564. package/dist/runtime/chartAnimation.js +237 -0
  565. package/dist/runtime/chartAnimation.js.map +7 -0
  566. package/dist/runtime/chartRuntime.d.ts +130 -0
  567. package/dist/runtime/chartRuntime.d.ts.map +1 -0
  568. package/dist/runtime/chartRuntime.js +763 -0
  569. package/dist/runtime/chartRuntime.js.map +7 -0
  570. package/dist/runtime/combo.d.ts +56 -0
  571. package/dist/runtime/combo.d.ts.map +1 -0
  572. package/dist/runtime/combo.js +450 -0
  573. package/dist/runtime/combo.js.map +7 -0
  574. package/dist/runtime/dashboard.d.ts +58 -0
  575. package/dist/runtime/dashboard.d.ts.map +1 -0
  576. package/dist/runtime/dashboard.js +21 -0
  577. package/dist/runtime/dashboard.js.map +7 -0
  578. package/dist/runtime/dashboardChrome.d.ts +20 -0
  579. package/dist/runtime/dashboardChrome.d.ts.map +1 -0
  580. package/dist/runtime/dashboardChrome.js +49 -0
  581. package/dist/runtime/dashboardChrome.js.map +7 -0
  582. package/dist/runtime/dashboardDom.d.ts +7 -0
  583. package/dist/runtime/dashboardDom.d.ts.map +1 -0
  584. package/dist/runtime/dashboardDom.js +640 -0
  585. package/dist/runtime/dashboardDom.js.map +7 -0
  586. package/dist/runtime/dashboardHeadless.d.ts +14 -0
  587. package/dist/runtime/dashboardHeadless.d.ts.map +1 -0
  588. package/dist/runtime/dashboardHeadless.js +8 -0
  589. package/dist/runtime/dashboardHeadless.js.map +7 -0
  590. package/dist/runtime/dashboardLayout.d.ts +18 -0
  591. package/dist/runtime/dashboardLayout.d.ts.map +1 -0
  592. package/dist/runtime/dashboardLayout.js +18 -0
  593. package/dist/runtime/dashboardLayout.js.map +7 -0
  594. package/dist/runtime/dashboardPlacement.d.ts +54 -0
  595. package/dist/runtime/dashboardPlacement.d.ts.map +1 -0
  596. package/dist/runtime/dashboardPlacement.js +206 -0
  597. package/dist/runtime/dashboardPlacement.js.map +7 -0
  598. package/dist/runtime/dashboardSelection.d.ts +23 -0
  599. package/dist/runtime/dashboardSelection.d.ts.map +1 -0
  600. package/dist/runtime/dashboardSelection.js +77 -0
  601. package/dist/runtime/dashboardSelection.js.map +7 -0
  602. package/dist/runtime/debug.d.ts +48 -0
  603. package/dist/runtime/debug.d.ts.map +1 -0
  604. package/dist/runtime/debug.js +384 -0
  605. package/dist/runtime/debug.js.map +7 -0
  606. package/dist/runtime/diagnostics.d.ts +56 -0
  607. package/dist/runtime/diagnostics.d.ts.map +1 -0
  608. package/dist/runtime/diagnostics.js +59 -0
  609. package/dist/runtime/diagnostics.js.map +7 -0
  610. package/dist/runtime/draft.d.ts +95 -0
  611. package/dist/runtime/draft.d.ts.map +1 -0
  612. package/dist/runtime/draft.js +112 -0
  613. package/dist/runtime/draft.js.map +7 -0
  614. package/dist/runtime/dumbbell.d.ts +46 -0
  615. package/dist/runtime/dumbbell.d.ts.map +1 -0
  616. package/dist/runtime/dumbbell.js +116 -0
  617. package/dist/runtime/dumbbell.js.map +7 -0
  618. package/dist/runtime/facet.d.ts +74 -0
  619. package/dist/runtime/facet.d.ts.map +1 -0
  620. package/dist/runtime/facet.js +354 -0
  621. package/dist/runtime/facet.js.map +7 -0
  622. package/dist/runtime/gantt.d.ts +137 -0
  623. package/dist/runtime/gantt.d.ts.map +1 -0
  624. package/dist/runtime/gantt.js +647 -0
  625. package/dist/runtime/gantt.js.map +7 -0
  626. package/dist/runtime/headless.d.ts +54 -0
  627. package/dist/runtime/headless.d.ts.map +1 -0
  628. package/dist/runtime/headless.js +159 -0
  629. package/dist/runtime/headless.js.map +7 -0
  630. package/dist/runtime/headlessDashboardRenderer.d.ts +14 -0
  631. package/dist/runtime/headlessDashboardRenderer.d.ts.map +1 -0
  632. package/dist/runtime/headlessDashboardRenderer.js +484 -0
  633. package/dist/runtime/headlessDashboardRenderer.js.map +7 -0
  634. package/dist/runtime/histogram.d.ts +49 -0
  635. package/dist/runtime/histogram.d.ts.map +1 -0
  636. package/dist/runtime/histogram.js +162 -0
  637. package/dist/runtime/histogram.js.map +7 -0
  638. package/dist/runtime/index.d.ts +14 -0
  639. package/dist/runtime/index.d.ts.map +1 -0
  640. package/dist/runtime/index.js +14 -0
  641. package/dist/runtime/index.js.map +7 -0
  642. package/dist/runtime/inspect.d.ts +57 -0
  643. package/dist/runtime/inspect.d.ts.map +1 -0
  644. package/dist/runtime/inspect.js +83 -0
  645. package/dist/runtime/inspect.js.map +7 -0
  646. package/dist/runtime/morph.d.ts +33 -0
  647. package/dist/runtime/morph.d.ts.map +1 -0
  648. package/dist/runtime/morph.js +332 -0
  649. package/dist/runtime/morph.js.map +7 -0
  650. package/dist/runtime/quality.d.ts +54 -0
  651. package/dist/runtime/quality.d.ts.map +1 -0
  652. package/dist/runtime/quality.js +359 -0
  653. package/dist/runtime/quality.js.map +7 -0
  654. package/dist/runtime/qualityTarget.d.ts +9 -0
  655. package/dist/runtime/qualityTarget.d.ts.map +1 -0
  656. package/dist/runtime/qualityTarget.js +120 -0
  657. package/dist/runtime/qualityTarget.js.map +7 -0
  658. package/dist/runtime/radar.d.ts +75 -0
  659. package/dist/runtime/radar.d.ts.map +1 -0
  660. package/dist/runtime/radar.js +201 -0
  661. package/dist/runtime/radar.js.map +7 -0
  662. package/dist/runtime/radialBar.d.ts +81 -0
  663. package/dist/runtime/radialBar.d.ts.map +1 -0
  664. package/dist/runtime/radialBar.js +125 -0
  665. package/dist/runtime/radialBar.js.map +7 -0
  666. package/dist/runtime/render.d.ts +91 -0
  667. package/dist/runtime/render.d.ts.map +1 -0
  668. package/dist/runtime/render.js +14 -0
  669. package/dist/runtime/render.js.map +7 -0
  670. package/dist/runtime/report/build.d.ts +7 -0
  671. package/dist/runtime/report/build.d.ts.map +1 -0
  672. package/dist/runtime/report/build.js +180 -0
  673. package/dist/runtime/report/build.js.map +7 -0
  674. package/dist/runtime/report/cartesian.d.ts +37 -0
  675. package/dist/runtime/report/cartesian.d.ts.map +1 -0
  676. package/dist/runtime/report/cartesian.js +283 -0
  677. package/dist/runtime/report/cartesian.js.map +7 -0
  678. package/dist/runtime/report/constants.d.ts +18 -0
  679. package/dist/runtime/report/constants.d.ts.map +1 -0
  680. package/dist/runtime/report/constants.js +22 -0
  681. package/dist/runtime/report/constants.js.map +7 -0
  682. package/dist/runtime/report/dashboard.d.ts +17 -0
  683. package/dist/runtime/report/dashboard.d.ts.map +1 -0
  684. package/dist/runtime/report/dashboard.js +81 -0
  685. package/dist/runtime/report/dashboard.js.map +7 -0
  686. package/dist/runtime/report/evidence.d.ts +4 -0
  687. package/dist/runtime/report/evidence.d.ts.map +1 -0
  688. package/dist/runtime/report/evidence.js +47 -0
  689. package/dist/runtime/report/evidence.js.map +7 -0
  690. package/dist/runtime/report/text.d.ts +15 -0
  691. package/dist/runtime/report/text.d.ts.map +1 -0
  692. package/dist/runtime/report/text.js +208 -0
  693. package/dist/runtime/report/text.js.map +7 -0
  694. package/dist/runtime/report/types.d.ts +92 -0
  695. package/dist/runtime/report/types.d.ts.map +1 -0
  696. package/dist/runtime/report/types.js +1 -0
  697. package/dist/runtime/report/types.js.map +7 -0
  698. package/dist/runtime/report/utils.d.ts +6 -0
  699. package/dist/runtime/report/utils.d.ts.map +1 -0
  700. package/dist/runtime/report/utils.js +27 -0
  701. package/dist/runtime/report/utils.js.map +7 -0
  702. package/dist/runtime/report.d.ts +27 -0
  703. package/dist/runtime/report.d.ts.map +1 -0
  704. package/dist/runtime/report.js +17 -0
  705. package/dist/runtime/report.js.map +7 -0
  706. package/dist/runtime/resolve.d.ts +27 -0
  707. package/dist/runtime/resolve.d.ts.map +1 -0
  708. package/dist/runtime/resolve.js +109 -0
  709. package/dist/runtime/resolve.js.map +7 -0
  710. package/dist/runtime/runtimeShared.d.ts +37 -0
  711. package/dist/runtime/runtimeShared.d.ts.map +1 -0
  712. package/dist/runtime/runtimeShared.js +110 -0
  713. package/dist/runtime/runtimeShared.js.map +7 -0
  714. package/dist/runtime/slope.d.ts +46 -0
  715. package/dist/runtime/slope.d.ts.map +1 -0
  716. package/dist/runtime/slope.js +210 -0
  717. package/dist/runtime/slope.js.map +7 -0
  718. package/dist/runtime/sunburst.d.ts +74 -0
  719. package/dist/runtime/sunburst.d.ts.map +1 -0
  720. package/dist/runtime/sunburst.js +150 -0
  721. package/dist/runtime/sunburst.js.map +7 -0
  722. package/dist/runtime/waterfall.d.ts +76 -0
  723. package/dist/runtime/waterfall.d.ts.map +1 -0
  724. package/dist/runtime/waterfall.js +239 -0
  725. package/dist/runtime/waterfall.js.map +7 -0
  726. package/dist/runtime/wire.d.ts +30 -0
  727. package/dist/runtime/wire.d.ts.map +1 -0
  728. package/dist/runtime/wire.js +194 -0
  729. package/dist/runtime/wire.js.map +7 -0
  730. package/dist/scales/band.d.ts +17 -0
  731. package/dist/scales/band.d.ts.map +1 -0
  732. package/dist/scales/band.js +80 -0
  733. package/dist/scales/band.js.map +7 -0
  734. package/dist/scales/continuous.d.ts +12 -0
  735. package/dist/scales/continuous.d.ts.map +1 -0
  736. package/dist/scales/continuous.js +45 -0
  737. package/dist/scales/continuous.js.map +7 -0
  738. package/dist/scales/format.d.ts +3 -0
  739. package/dist/scales/format.d.ts.map +1 -0
  740. package/dist/scales/format.js +24 -0
  741. package/dist/scales/format.js.map +7 -0
  742. package/dist/scales/index.d.ts +10 -0
  743. package/dist/scales/index.d.ts.map +1 -0
  744. package/dist/scales/index.js +12 -0
  745. package/dist/scales/index.js.map +7 -0
  746. package/dist/scales/linear.d.ts +8 -0
  747. package/dist/scales/linear.d.ts.map +1 -0
  748. package/dist/scales/linear.js +22 -0
  749. package/dist/scales/linear.js.map +7 -0
  750. package/dist/scales/log.d.ts +9 -0
  751. package/dist/scales/log.d.ts.map +1 -0
  752. package/dist/scales/log.js +153 -0
  753. package/dist/scales/log.js.map +7 -0
  754. package/dist/scales/time.d.ts +8 -0
  755. package/dist/scales/time.d.ts.map +1 -0
  756. package/dist/scales/time.js +24 -0
  757. package/dist/scales/time.js.map +7 -0
  758. package/dist/scales/types.d.ts +24 -0
  759. package/dist/scales/types.d.ts.map +1 -0
  760. package/dist/scales/types.js +1 -0
  761. package/dist/scales/types.js.map +7 -0
  762. package/dist/shape/arc.d.ts +31 -0
  763. package/dist/shape/arc.d.ts.map +1 -0
  764. package/dist/shape/arc.js +223 -0
  765. package/dist/shape/arc.js.map +7 -0
  766. package/dist/shape/area.d.ts +12 -0
  767. package/dist/shape/area.d.ts.map +1 -0
  768. package/dist/shape/area.js +49 -0
  769. package/dist/shape/area.js.map +7 -0
  770. package/dist/shape/curves.d.ts +11 -0
  771. package/dist/shape/curves.d.ts.map +1 -0
  772. package/dist/shape/curves.js +123 -0
  773. package/dist/shape/curves.js.map +7 -0
  774. package/dist/shape/index.d.ts +7 -0
  775. package/dist/shape/index.d.ts.map +1 -0
  776. package/dist/shape/index.js +27 -0
  777. package/dist/shape/index.js.map +7 -0
  778. package/dist/shape/line.d.ts +8 -0
  779. package/dist/shape/line.d.ts.map +1 -0
  780. package/dist/shape/line.js +26 -0
  781. package/dist/shape/line.js.map +7 -0
  782. package/dist/shape/roundedRect.d.ts +3 -0
  783. package/dist/shape/roundedRect.d.ts.map +1 -0
  784. package/dist/shape/roundedRect.js +52 -0
  785. package/dist/shape/roundedRect.js.map +7 -0
  786. package/dist/shape/sink.d.ts +9 -0
  787. package/dist/shape/sink.d.ts.map +1 -0
  788. package/dist/shape/sink.js +1 -0
  789. package/dist/shape/sink.js.map +7 -0
  790. package/dist/spec/chartDefinitions.d.ts +63 -0
  791. package/dist/spec/chartDefinitions.d.ts.map +1 -0
  792. package/dist/spec/chartDefinitions.js +61 -0
  793. package/dist/spec/chartDefinitions.js.map +7 -0
  794. package/dist/spec/dashboard.d.ts +161 -0
  795. package/dist/spec/dashboard.d.ts.map +1 -0
  796. package/dist/spec/dashboard.js +1 -0
  797. package/dist/spec/dashboard.js.map +7 -0
  798. package/dist/spec/index.d.ts +12 -0
  799. package/dist/spec/index.d.ts.map +1 -0
  800. package/dist/spec/index.js +12 -0
  801. package/dist/spec/index.js.map +7 -0
  802. package/dist/spec/infer.d.ts +11 -0
  803. package/dist/spec/infer.d.ts.map +1 -0
  804. package/dist/spec/infer.js +20 -0
  805. package/dist/spec/infer.js.map +7 -0
  806. package/dist/spec/jsonpatch.d.ts +28 -0
  807. package/dist/spec/jsonpatch.d.ts.map +1 -0
  808. package/dist/spec/jsonpatch.js +100 -0
  809. package/dist/spec/jsonpatch.js.map +7 -0
  810. package/dist/spec/lint.d.ts +24 -0
  811. package/dist/spec/lint.d.ts.map +1 -0
  812. package/dist/spec/lint.js +175 -0
  813. package/dist/spec/lint.js.map +7 -0
  814. package/dist/spec/repair.d.ts +48 -0
  815. package/dist/spec/repair.d.ts.map +1 -0
  816. package/dist/spec/repair.js +131 -0
  817. package/dist/spec/repair.js.map +7 -0
  818. package/dist/spec/selection.d.ts +104 -0
  819. package/dist/spec/selection.d.ts.map +1 -0
  820. package/dist/spec/selection.js +1 -0
  821. package/dist/spec/selection.js.map +7 -0
  822. package/dist/spec/sketch.d.ts +22 -0
  823. package/dist/spec/sketch.d.ts.map +1 -0
  824. package/dist/spec/sketch.js +26 -0
  825. package/dist/spec/sketch.js.map +7 -0
  826. package/dist/spec/suggest.d.ts +19 -0
  827. package/dist/spec/suggest.d.ts.map +1 -0
  828. package/dist/spec/suggest.js +52 -0
  829. package/dist/spec/suggest.js.map +7 -0
  830. package/dist/spec/templates.d.ts +63 -0
  831. package/dist/spec/templates.d.ts.map +1 -0
  832. package/dist/spec/templates.js +796 -0
  833. package/dist/spec/templates.js.map +7 -0
  834. package/dist/spec/transform/aggregate.d.ts +10 -0
  835. package/dist/spec/transform/aggregate.d.ts.map +1 -0
  836. package/dist/spec/transform/aggregate.js +40 -0
  837. package/dist/spec/transform/aggregate.js.map +7 -0
  838. package/dist/spec/transform/apply.d.ts +12 -0
  839. package/dist/spec/transform/apply.d.ts.map +1 -0
  840. package/dist/spec/transform/apply.js +28 -0
  841. package/dist/spec/transform/apply.js.map +7 -0
  842. package/dist/spec/transform/bin.d.ts +28 -0
  843. package/dist/spec/transform/bin.d.ts.map +1 -0
  844. package/dist/spec/transform/bin.js +71 -0
  845. package/dist/spec/transform/bin.js.map +7 -0
  846. package/dist/spec/transform/calculate.d.ts +9 -0
  847. package/dist/spec/transform/calculate.d.ts.map +1 -0
  848. package/dist/spec/transform/calculate.js +10 -0
  849. package/dist/spec/transform/calculate.js.map +7 -0
  850. package/dist/spec/transform/expr/error.d.ts +7 -0
  851. package/dist/spec/transform/expr/error.d.ts.map +1 -0
  852. package/dist/spec/transform/expr/error.js +16 -0
  853. package/dist/spec/transform/expr/error.js.map +7 -0
  854. package/dist/spec/transform/expr/evaluate.d.ts +14 -0
  855. package/dist/spec/transform/expr/evaluate.d.ts.map +1 -0
  856. package/dist/spec/transform/expr/evaluate.js +163 -0
  857. package/dist/spec/transform/expr/evaluate.js.map +7 -0
  858. package/dist/spec/transform/expr/index.d.ts +22 -0
  859. package/dist/spec/transform/expr/index.d.ts.map +1 -0
  860. package/dist/spec/transform/expr/index.js +109 -0
  861. package/dist/spec/transform/expr/index.js.map +7 -0
  862. package/dist/spec/transform/expr/parse.d.ts +70 -0
  863. package/dist/spec/transform/expr/parse.d.ts.map +1 -0
  864. package/dist/spec/transform/expr/parse.js +199 -0
  865. package/dist/spec/transform/expr/parse.js.map +7 -0
  866. package/dist/spec/transform/expr/tokenize.d.ts +18 -0
  867. package/dist/spec/transform/expr/tokenize.d.ts.map +1 -0
  868. package/dist/spec/transform/expr/tokenize.js +88 -0
  869. package/dist/spec/transform/expr/tokenize.js.map +7 -0
  870. package/dist/spec/transform/filter.d.ts +12 -0
  871. package/dist/spec/transform/filter.d.ts.map +1 -0
  872. package/dist/spec/transform/filter.js +115 -0
  873. package/dist/spec/transform/filter.js.map +7 -0
  874. package/dist/spec/transform/fold.d.ts +10 -0
  875. package/dist/spec/transform/fold.d.ts.map +1 -0
  876. package/dist/spec/transform/fold.js +14 -0
  877. package/dist/spec/transform/fold.js.map +7 -0
  878. package/dist/spec/transform/index.d.ts +17 -0
  879. package/dist/spec/transform/index.d.ts.map +1 -0
  880. package/dist/spec/transform/index.js +27 -0
  881. package/dist/spec/transform/index.js.map +7 -0
  882. package/dist/spec/transform/timeUnit.d.ts +11 -0
  883. package/dist/spec/transform/timeUnit.d.ts.map +1 -0
  884. package/dist/spec/transform/timeUnit.js +43 -0
  885. package/dist/spec/transform/timeUnit.js.map +7 -0
  886. package/dist/spec/transform/types.d.ts +141 -0
  887. package/dist/spec/transform/types.d.ts.map +1 -0
  888. package/dist/spec/transform/types.js +16 -0
  889. package/dist/spec/transform/types.js.map +7 -0
  890. package/dist/spec/types.d.ts +1262 -0
  891. package/dist/spec/types.d.ts.map +1 -0
  892. package/dist/spec/types.js +47 -0
  893. package/dist/spec/types.js.map +7 -0
  894. package/dist/spec/validate/charts.d.ts +11 -0
  895. package/dist/spec/validate/charts.d.ts.map +1 -0
  896. package/dist/spec/validate/charts.js +512 -0
  897. package/dist/spec/validate/charts.js.map +7 -0
  898. package/dist/spec/validate/chrome.d.ts +4 -0
  899. package/dist/spec/validate/chrome.d.ts.map +1 -0
  900. package/dist/spec/validate/chrome.js +45 -0
  901. package/dist/spec/validate/chrome.js.map +7 -0
  902. package/dist/spec/validate/common.d.ts +107 -0
  903. package/dist/spec/validate/common.d.ts.map +1 -0
  904. package/dist/spec/validate/common.js +47 -0
  905. package/dist/spec/validate/common.js.map +7 -0
  906. package/dist/spec/validate/conditional.d.ts +8 -0
  907. package/dist/spec/validate/conditional.d.ts.map +1 -0
  908. package/dist/spec/validate/conditional.js +89 -0
  909. package/dist/spec/validate/conditional.js.map +7 -0
  910. package/dist/spec/validate/dashboard.d.ts +9 -0
  911. package/dist/spec/validate/dashboard.d.ts.map +1 -0
  912. package/dist/spec/validate/dashboard.js +183 -0
  913. package/dist/spec/validate/dashboard.js.map +7 -0
  914. package/dist/spec/validate/fieldDef.d.ts +14 -0
  915. package/dist/spec/validate/fieldDef.d.ts.map +1 -0
  916. package/dist/spec/validate/fieldDef.js +137 -0
  917. package/dist/spec/validate/fieldDef.js.map +7 -0
  918. package/dist/spec/validate/interaction.d.ts +10 -0
  919. package/dist/spec/validate/interaction.d.ts.map +1 -0
  920. package/dist/spec/validate/interaction.js +92 -0
  921. package/dist/spec/validate/interaction.js.map +7 -0
  922. package/dist/spec/validate/overlays.d.ts +28 -0
  923. package/dist/spec/validate/overlays.d.ts.map +1 -0
  924. package/dist/spec/validate/overlays.js +110 -0
  925. package/dist/spec/validate/overlays.js.map +7 -0
  926. package/dist/spec/validate/spec.d.ts +25 -0
  927. package/dist/spec/validate/spec.d.ts.map +1 -0
  928. package/dist/spec/validate/spec.js +141 -0
  929. package/dist/spec/validate/spec.js.map +7 -0
  930. package/dist/spec/validate/transform.d.ts +12 -0
  931. package/dist/spec/validate/transform.d.ts.map +1 -0
  932. package/dist/spec/validate/transform.js +168 -0
  933. package/dist/spec/validate/transform.js.map +7 -0
  934. package/dist/spec/validate.d.ts +3 -0
  935. package/dist/spec/validate.d.ts.map +1 -0
  936. package/dist/spec/validate.data.d.ts +5 -0
  937. package/dist/spec/validate.data.d.ts.map +1 -0
  938. package/dist/spec/validate.data.js +94 -0
  939. package/dist/spec/validate.data.js.map +7 -0
  940. package/dist/spec/validate.js +7 -0
  941. package/dist/spec/validate.js.map +7 -0
  942. package/dist/theme/fonts/patrickHand.d.ts +13 -0
  943. package/dist/theme/fonts/patrickHand.d.ts.map +1 -0
  944. package/dist/theme/fonts/patrickHand.js +7 -0
  945. package/dist/theme/fonts/patrickHand.js.map +7 -0
  946. package/dist/theme/index.d.ts +3 -0
  947. package/dist/theme/index.d.ts.map +1 -0
  948. package/dist/theme/index.js +3 -0
  949. package/dist/theme/index.js.map +7 -0
  950. package/dist/theme/sketch.d.ts +26 -0
  951. package/dist/theme/sketch.d.ts.map +1 -0
  952. package/dist/theme/sketch.js +49 -0
  953. package/dist/theme/sketch.js.map +7 -0
  954. package/dist/theme/tokens.d.ts +112 -0
  955. package/dist/theme/tokens.d.ts.map +1 -0
  956. package/dist/theme/tokens.js +176 -0
  957. package/dist/theme/tokens.js.map +7 -0
  958. package/dist/ticks/index.d.ts +3 -0
  959. package/dist/ticks/index.d.ts.map +1 -0
  960. package/dist/ticks/index.js +16 -0
  961. package/dist/ticks/index.js.map +7 -0
  962. package/dist/ticks/numeric.d.ts +5 -0
  963. package/dist/ticks/numeric.d.ts.map +1 -0
  964. package/dist/ticks/numeric.js +98 -0
  965. package/dist/ticks/numeric.js.map +7 -0
  966. package/dist/ticks/time.d.ts +3 -0
  967. package/dist/ticks/time.d.ts.map +1 -0
  968. package/dist/ticks/time.js +182 -0
  969. package/dist/ticks/time.js.map +7 -0
  970. package/dist/types.d.ts +54 -0
  971. package/dist/types.d.ts.map +1 -0
  972. package/dist/types.js +1 -0
  973. package/dist/types.js.map +7 -0
  974. package/dist/util/calendar.d.ts +27 -0
  975. package/dist/util/calendar.d.ts.map +1 -0
  976. package/dist/util/calendar.js +147 -0
  977. package/dist/util/calendar.js.map +7 -0
  978. package/dist/util/data.d.ts +60 -0
  979. package/dist/util/data.d.ts.map +1 -0
  980. package/dist/util/data.js +145 -0
  981. package/dist/util/data.js.map +7 -0
  982. package/dist/util/field.d.ts +4 -0
  983. package/dist/util/field.d.ts.map +1 -0
  984. package/dist/util/field.js +15 -0
  985. package/dist/util/field.js.map +7 -0
  986. package/dist/util/index.d.ts +5 -0
  987. package/dist/util/index.d.ts.map +1 -0
  988. package/dist/util/index.js +5 -0
  989. package/dist/util/index.js.map +7 -0
  990. package/dist/util/infer.d.ts +8 -0
  991. package/dist/util/infer.d.ts.map +1 -0
  992. package/dist/util/infer.js +62 -0
  993. package/dist/util/infer.js.map +7 -0
  994. package/dist/util/math.d.ts +41 -0
  995. package/dist/util/math.d.ts.map +1 -0
  996. package/dist/util/math.js +123 -0
  997. package/dist/util/math.js.map +7 -0
  998. package/dist/util/profile.d.ts +133 -0
  999. package/dist/util/profile.d.ts.map +1 -0
  1000. package/dist/util/profile.js +314 -0
  1001. package/dist/util/profile.js.map +7 -0
  1002. package/package.json +10 -5
  1003. package/dist/chunk-V6TY7KAL.js +0 -7
  1004. package/dist/chunk-V6TY7KAL.js.map +0 -1
  1005. package/dist/patrickHand-ITDQJJE2.js +0 -9
  1006. package/dist/patrickHand-ITDQJJE2.js.map +0 -1
package/README.md CHANGED
@@ -50,6 +50,12 @@ import { validateSpec } from 'graphein';
50
50
  const { valid, errors, warnings } = validateSpec(spec);
51
51
  ```
52
52
 
53
+ Validation is defensive for any JSON input: nested encodings/scales/ValueRefs are
54
+ shape-checked, calculate/filter/bin constraints are reported before rendering,
55
+ and repair skips unsafe or unresolvable JSON Patch operations. Type inference is
56
+ shared across the engine, numbers-first, strict about calendar dates, and supports
57
+ dot-path fields.
58
+
53
59
  ## Agent drafting
54
60
 
55
61
  ```ts
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Apply accessibility semantics to a rendered chart Surface.
3
+ *
4
+ * Called by the runtime after each draw. Idempotent: safe to re-run on every
5
+ * update/resize.
6
+ */
7
+ import type { Surface } from '../render/surface.js';
8
+ import type { ChartSpec } from '../spec/types.js';
9
+ export declare function applyA11y(surface: Surface, spec: ChartSpec): void;
10
+ //# sourceMappingURL=apply.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/a11y/apply.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAa/C,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CA0BjE"}
@@ -0,0 +1,24 @@
1
+ import { summarizeChart } from "./describe.js";
2
+ import { summarize } from "../analyze/summarize.js";
3
+ import { buildDataTableFallback } from "./table.js";
4
+ import { chartTypesWhere } from "../spec/chartDefinitions.js";
5
+ const SELF_DESCRIBING = chartTypesWhere((definition) => definition.selfDescribing);
6
+ function applyA11y(surface, spec) {
7
+ const { root } = surface;
8
+ root.setAttribute("role", "figure");
9
+ root.setAttribute("aria-label", summarizeChart(spec).label);
10
+ const narrative = spec.description ? "" : summarize(spec);
11
+ if (narrative) root.setAttribute("aria-description", narrative);
12
+ else root.removeAttribute("aria-description");
13
+ surface.marks.canvas.setAttribute("aria-hidden", "true");
14
+ surface.interaction.canvas.setAttribute("aria-hidden", "true");
15
+ surface.a11y.replaceChildren();
16
+ if (!SELF_DESCRIBING.has(spec.type)) {
17
+ const table = buildDataTableFallback(spec);
18
+ if (table) surface.a11y.appendChild(table);
19
+ }
20
+ }
21
+ export {
22
+ applyA11y
23
+ };
24
+ //# sourceMappingURL=apply.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/a11y/apply.ts"],
4
+ "sourcesContent": ["/**\n * Apply accessibility semantics to a rendered chart Surface.\n *\n * Called by the runtime after each draw. Idempotent: safe to re-run on every\n * update/resize.\n */\n\nimport type { Surface } from '../render/surface';\nimport type { ChartSpec } from '../spec/types';\nimport { summarizeChart } from './describe';\nimport { summarize } from '../analyze/summarize';\nimport { buildDataTableFallback } from './table';\nimport { chartTypesWhere } from '../spec/chartDefinitions';\n\n/**\n * Chart types whose overlay already exposes their data as real DOM text\n * (table/matrix render a semantic `<table>`; kpi renders its value/label as\n * text; slicers render native controls), so they don't need a hidden data-table fallback.\n */\nconst SELF_DESCRIBING = chartTypesWhere((definition) => definition.selfDescribing);\n\nexport function applyA11y(surface: Surface, spec: ChartSpec): void {\n const { root } = surface;\n\n // Present the chart as a named figure. Unlike role=\"img\", a figure keeps its\n // descendants (overlay text + the hidden data table) discoverable by AT.\n root.setAttribute('role', 'figure');\n root.setAttribute('aria-label', summarizeChart(spec).label);\n\n // The concise aria-label names the chart; a deterministic NL summary of what\n // the data *shows* serves as richer alt-text. Skip it when the author gave an\n // explicit description (already used as the label) or nothing is summarizable.\n const narrative = spec.description ? '' : summarize(spec);\n if (narrative) root.setAttribute('aria-description', narrative);\n else root.removeAttribute('aria-description');\n\n // Canvas layers are decorative \u2014 the data is conveyed via the overlay text\n // and/or the hidden data-table fallback.\n surface.marks.canvas.setAttribute('aria-hidden', 'true');\n surface.interaction.canvas.setAttribute('aria-hidden', 'true');\n\n // Rebuild the hidden data-table fallback (owns the a11y container).\n surface.a11y.replaceChildren();\n if (!SELF_DESCRIBING.has(spec.type)) {\n const table = buildDataTableFallback(spec);\n if (table) surface.a11y.appendChild(table);\n }\n}\n"],
5
+ "mappings": "AASA,SAAS,sBAAsB;AAC/B,SAAS,iBAAiB;AAC1B,SAAS,8BAA8B;AACvC,SAAS,uBAAuB;AAOhC,MAAM,kBAAkB,gBAAgB,CAAC,eAAe,WAAW,cAAc;AAE1E,SAAS,UAAU,SAAkB,MAAuB;AACjE,QAAM,EAAE,KAAK,IAAI;AAIjB,OAAK,aAAa,QAAQ,QAAQ;AAClC,OAAK,aAAa,cAAc,eAAe,IAAI,EAAE,KAAK;AAK1D,QAAM,YAAY,KAAK,cAAc,KAAK,UAAU,IAAI;AACxD,MAAI,UAAW,MAAK,aAAa,oBAAoB,SAAS;AAAA,MACzD,MAAK,gBAAgB,kBAAkB;AAI5C,UAAQ,MAAM,OAAO,aAAa,eAAe,MAAM;AACvD,UAAQ,YAAY,OAAO,aAAa,eAAe,MAAM;AAG7D,UAAQ,KAAK,gBAAgB;AAC7B,MAAI,CAAC,gBAAgB,IAAI,KAAK,IAAI,GAAG;AACnC,UAAM,QAAQ,uBAAuB,IAAI;AACzC,QAAI,MAAO,SAAQ,KAAK,YAAY,KAAK;AAAA,EAC3C;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Accessible descriptions for charts.
3
+ *
4
+ * Canvas marks are invisible to assistive technology, so every chart needs a
5
+ * concise accessible *name* (what it is) plus, for canvas-drawn charts, a
6
+ * visually-hidden data table (the numbers behind it — see `./table`). This
7
+ * module owns the pure, DOM-free summarization logic.
8
+ */
9
+ import type { ChartSpec } from '../spec/types.js';
10
+ /** Human-readable label for a chart type (e.g. `'bar'` → `'Bar chart'`). */
11
+ export declare function chartTypeLabel(type: string): string;
12
+ /** Extract the chart's title text from a `string | TitleConfig` title field. */
13
+ export declare function chartTitleText(spec: ChartSpec): string | undefined;
14
+ export interface ChartSummary {
15
+ /** Concise accessible name for the chart root (used as `aria-label`). */
16
+ label: string;
17
+ /** Number of data rows backing the chart. */
18
+ rowCount: number;
19
+ }
20
+ /**
21
+ * Build a concise accessible name for a chart. An explicit `spec.description`
22
+ * always wins (agents can supply precise alt text); otherwise we synthesize
23
+ * `"<Type>: <title>. <n> data points."` from the spec.
24
+ */
25
+ export declare function summarizeChart(spec: ChartSpec): ChartSummary;
26
+ //# sourceMappingURL=describe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../src/a11y/describe.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAa,MAAM,eAAe,CAAC;AAI1D,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAInD;AAED,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAQlE;AAED,MAAM,WAAW,YAAY;IAC3B,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,YAAY,CAoB5D"}
@@ -0,0 +1,37 @@
1
+ import { CHART_TYPES } from "../spec/types.js";
2
+ import { chartDefinition } from "../spec/chartDefinitions.js";
3
+ function chartTypeLabel(type) {
4
+ return CHART_TYPES.includes(type) ? chartDefinition(type).label : "Chart";
5
+ }
6
+ function chartTitleText(spec) {
7
+ const t = spec.title;
8
+ if (typeof t === "string") return t.trim() || void 0;
9
+ if (t && typeof t === "object") {
10
+ const text = t.text;
11
+ return typeof text === "string" && text.trim() ? text.trim() : void 0;
12
+ }
13
+ return void 0;
14
+ }
15
+ function summarizeChart(spec) {
16
+ const rowCount = Array.isArray(spec.data) ? spec.data.length : 0;
17
+ const description = spec.description;
18
+ if (typeof description === "string" && description.trim()) {
19
+ return { label: description.trim(), rowCount };
20
+ }
21
+ const type = chartTypeLabel(spec.type);
22
+ const title = chartTitleText(spec) ?? (spec.type === "kpi" ? spec.label : void 0);
23
+ let label = type;
24
+ if (title) label += `: ${title}`;
25
+ if (chartDefinition(spec.type).family === "slicer") {
26
+ label += `. Filters field ${spec.field ?? "unknown"}.`;
27
+ } else if (rowCount > 0 && spec.type !== "kpi") {
28
+ label += `. ${rowCount} data point${rowCount === 1 ? "" : "s"}.`;
29
+ }
30
+ return { label, rowCount };
31
+ }
32
+ export {
33
+ chartTitleText,
34
+ chartTypeLabel,
35
+ summarizeChart
36
+ };
37
+ //# sourceMappingURL=describe.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/a11y/describe.ts"],
4
+ "sourcesContent": ["/**\n * Accessible descriptions for charts.\n *\n * Canvas marks are invisible to assistive technology, so every chart needs a\n * concise accessible *name* (what it is) plus, for canvas-drawn charts, a\n * visually-hidden data table (the numbers behind it \u2014 see `./table`). This\n * module owns the pure, DOM-free summarization logic.\n */\n\nimport type { ChartSpec, ChartType } from '../spec/types';\nimport { CHART_TYPES } from '../spec/types';\nimport { chartDefinition } from '../spec/chartDefinitions';\n\n/** Human-readable label for a chart type (e.g. `'bar'` \u2192 `'Bar chart'`). */\nexport function chartTypeLabel(type: string): string {\n return (CHART_TYPES as readonly string[]).includes(type)\n ? chartDefinition(type as ChartType).label\n : 'Chart';\n}\n\n/** Extract the chart's title text from a `string | TitleConfig` title field. */\nexport function chartTitleText(spec: ChartSpec): string | undefined {\n const t = spec.title;\n if (typeof t === 'string') return t.trim() || undefined;\n if (t && typeof t === 'object') {\n const text = t.text;\n return typeof text === 'string' && text.trim() ? text.trim() : undefined;\n }\n return undefined;\n}\n\nexport interface ChartSummary {\n /** Concise accessible name for the chart root (used as `aria-label`). */\n label: string;\n /** Number of data rows backing the chart. */\n rowCount: number;\n}\n\n/**\n * Build a concise accessible name for a chart. An explicit `spec.description`\n * always wins (agents can supply precise alt text); otherwise we synthesize\n * `\"<Type>: <title>. <n> data points.\"` from the spec.\n */\nexport function summarizeChart(spec: ChartSpec): ChartSummary {\n const rowCount = Array.isArray(spec.data) ? spec.data.length : 0;\n\n const description = spec.description;\n if (typeof description === 'string' && description.trim()) {\n return { label: description.trim(), rowCount };\n }\n\n const type = chartTypeLabel(spec.type);\n const title =\n chartTitleText(spec) ?? (spec.type === 'kpi' ? (spec as { label?: string }).label : undefined);\n\n let label = type;\n if (title) label += `: ${title}`;\n if (chartDefinition(spec.type).family === 'slicer') {\n label += `. Filters field ${(spec as { field?: string }).field ?? 'unknown'}.`;\n } else if (rowCount > 0 && spec.type !== 'kpi') {\n label += `. ${rowCount} data point${rowCount === 1 ? '' : 's'}.`;\n }\n return { label, rowCount };\n}\n"],
5
+ "mappings": "AAUA,SAAS,mBAAmB;AAC5B,SAAS,uBAAuB;AAGzB,SAAS,eAAe,MAAsB;AACnD,SAAQ,YAAkC,SAAS,IAAI,IACnD,gBAAgB,IAAiB,EAAE,QACnC;AACN;AAGO,SAAS,eAAe,MAAqC;AAClE,QAAM,IAAI,KAAK;AACf,MAAI,OAAO,MAAM,SAAU,QAAO,EAAE,KAAK,KAAK;AAC9C,MAAI,KAAK,OAAO,MAAM,UAAU;AAC9B,UAAM,OAAO,EAAE;AACf,WAAO,OAAO,SAAS,YAAY,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI;AAAA,EACjE;AACA,SAAO;AACT;AAcO,SAAS,eAAe,MAA+B;AAC5D,QAAM,WAAW,MAAM,QAAQ,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;AAE/D,QAAM,cAAc,KAAK;AACzB,MAAI,OAAO,gBAAgB,YAAY,YAAY,KAAK,GAAG;AACzD,WAAO,EAAE,OAAO,YAAY,KAAK,GAAG,SAAS;AAAA,EAC/C;AAEA,QAAM,OAAO,eAAe,KAAK,IAAI;AACrC,QAAM,QACJ,eAAe,IAAI,MAAM,KAAK,SAAS,QAAS,KAA4B,QAAQ;AAEtF,MAAI,QAAQ;AACZ,MAAI,MAAO,UAAS,KAAK,KAAK;AAC9B,MAAI,gBAAgB,KAAK,IAAI,EAAE,WAAW,UAAU;AAClD,aAAS,mBAAoB,KAA4B,SAAS,SAAS;AAAA,EAC7E,WAAW,WAAW,KAAK,KAAK,SAAS,OAAO;AAC9C,aAAS,KAAK,QAAQ,cAAc,aAAa,IAAI,KAAK,GAAG;AAAA,EAC/D;AACA,SAAO,EAAE,OAAO,SAAS;AAC3B;",
6
+ "names": []
7
+ }
@@ -0,0 +1,4 @@
1
+ export * from './describe.js';
2
+ export * from './table.js';
3
+ export * from './apply.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/a11y/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./describe.js";
2
+ export * from "./table.js";
3
+ export * from "./apply.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/a11y/index.ts"],
4
+ "sourcesContent": ["export * from './describe';\nexport * from './table';\nexport * from './apply';\n"],
5
+ "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Visually-hidden data-table fallback.
3
+ *
4
+ * For canvas-drawn charts (line/area/bar/scatter/pie/heatmap) the values live
5
+ * only in pixels, so we mirror the chart's `data` into an off-screen semantic
6
+ * `<table>`. Screen-reader users get the real numbers; sighted users see
7
+ * nothing. Charts that already render real DOM text (table/matrix/kpi) don't
8
+ * need this.
9
+ */
10
+ import type { ChartSpec } from '../spec/types.js';
11
+ /** Canonical "visually hidden" style — present to AT, invisible on screen. */
12
+ export declare const SR_ONLY_STYLE: string;
13
+ /**
14
+ * Build a visually-hidden `<table>` mirroring the chart's data. Returns `null`
15
+ * when there is nothing useful to tabulate (no rows or no columns).
16
+ */
17
+ export declare function buildDataTableFallback(spec: ChartSpec): HTMLTableElement | null;
18
+ //# sourceMappingURL=table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/a11y/table.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI/C,8EAA8E;AAC9E,eAAO,MAAM,aAAa,QAE8C,CAAC;AA4BzE;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,GAAG,gBAAgB,GAAG,IAAI,CAiD/E"}
@@ -0,0 +1,72 @@
1
+ import { summarizeChart } from "./describe.js";
2
+ const SR_ONLY_STYLE = "position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;";
3
+ const MAX_ROWS = 100;
4
+ function columnsOf(data) {
5
+ const seen = /* @__PURE__ */ new Set();
6
+ const columns = [];
7
+ for (const row of data) {
8
+ if (row && typeof row === "object") {
9
+ for (const key of Object.keys(row)) {
10
+ if (!seen.has(key)) {
11
+ seen.add(key);
12
+ columns.push(key);
13
+ }
14
+ }
15
+ }
16
+ }
17
+ return columns;
18
+ }
19
+ function cellText(value) {
20
+ if (value == null) return "";
21
+ if (value instanceof Date) return value.toISOString();
22
+ return String(value);
23
+ }
24
+ function buildDataTableFallback(spec) {
25
+ const data = Array.isArray(spec.data) ? spec.data : [];
26
+ if (data.length === 0) return null;
27
+ const columns = columnsOf(data);
28
+ if (columns.length === 0) return null;
29
+ const table = document.createElement("table");
30
+ table.setAttribute("style", SR_ONLY_STYLE);
31
+ const caption = document.createElement("caption");
32
+ caption.textContent = summarizeChart(spec).label;
33
+ table.appendChild(caption);
34
+ const thead = document.createElement("thead");
35
+ const headRow = document.createElement("tr");
36
+ for (const column of columns) {
37
+ const th = document.createElement("th");
38
+ th.scope = "col";
39
+ th.textContent = column;
40
+ headRow.appendChild(th);
41
+ }
42
+ thead.appendChild(headRow);
43
+ table.appendChild(thead);
44
+ const tbody = document.createElement("tbody");
45
+ const limit = Math.min(data.length, MAX_ROWS);
46
+ for (let i = 0; i < limit; i++) {
47
+ const row = data[i];
48
+ const tr = document.createElement("tr");
49
+ for (const column of columns) {
50
+ const td = document.createElement("td");
51
+ td.textContent = cellText(row?.[column]);
52
+ tr.appendChild(td);
53
+ }
54
+ tbody.appendChild(tr);
55
+ }
56
+ table.appendChild(tbody);
57
+ const hidden = data.length - limit;
58
+ if (hidden > 0) {
59
+ const footRow = document.createElement("tr");
60
+ const td = document.createElement("td");
61
+ td.colSpan = columns.length;
62
+ td.textContent = `\u2026and ${hidden} more row${hidden === 1 ? "" : "s"}`;
63
+ footRow.appendChild(td);
64
+ tbody.appendChild(footRow);
65
+ }
66
+ return table;
67
+ }
68
+ export {
69
+ SR_ONLY_STYLE,
70
+ buildDataTableFallback
71
+ };
72
+ //# sourceMappingURL=table.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/a11y/table.ts"],
4
+ "sourcesContent": ["/**\n * Visually-hidden data-table fallback.\n *\n * For canvas-drawn charts (line/area/bar/scatter/pie/heatmap) the values live\n * only in pixels, so we mirror the chart's `data` into an off-screen semantic\n * `<table>`. Screen-reader users get the real numbers; sighted users see\n * nothing. Charts that already render real DOM text (table/matrix/kpi) don't\n * need this.\n */\n\nimport type { ChartSpec } from '../spec/types';\nimport type { Datum } from '../types';\nimport { summarizeChart } from './describe';\n\n/** Canonical \"visually hidden\" style \u2014 present to AT, invisible on screen. */\nexport const SR_ONLY_STYLE =\n 'position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;' +\n 'clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;';\n\n/** Cap rows so assistive tech isn't flooded by huge datasets. */\nconst MAX_ROWS = 100;\n\n/** Stable union of keys across (possibly heterogeneous) rows, in first-seen order. */\nfunction columnsOf(data: readonly Datum[]): string[] {\n const seen = new Set<string>();\n const columns: string[] = [];\n for (const row of data) {\n if (row && typeof row === 'object') {\n for (const key of Object.keys(row)) {\n if (!seen.has(key)) {\n seen.add(key);\n columns.push(key);\n }\n }\n }\n }\n return columns;\n}\n\nfunction cellText(value: unknown): string {\n if (value == null) return '';\n if (value instanceof Date) return value.toISOString();\n return String(value);\n}\n\n/**\n * Build a visually-hidden `<table>` mirroring the chart's data. Returns `null`\n * when there is nothing useful to tabulate (no rows or no columns).\n */\nexport function buildDataTableFallback(spec: ChartSpec): HTMLTableElement | null {\n const data = Array.isArray(spec.data) ? spec.data : [];\n if (data.length === 0) return null;\n const columns = columnsOf(data);\n if (columns.length === 0) return null;\n\n const table = document.createElement('table');\n table.setAttribute('style', SR_ONLY_STYLE);\n\n const caption = document.createElement('caption');\n caption.textContent = summarizeChart(spec).label;\n table.appendChild(caption);\n\n const thead = document.createElement('thead');\n const headRow = document.createElement('tr');\n for (const column of columns) {\n const th = document.createElement('th');\n th.scope = 'col';\n th.textContent = column;\n headRow.appendChild(th);\n }\n thead.appendChild(headRow);\n table.appendChild(thead);\n\n const tbody = document.createElement('tbody');\n const limit = Math.min(data.length, MAX_ROWS);\n for (let i = 0; i < limit; i++) {\n const row = data[i] as Record<string, unknown>;\n const tr = document.createElement('tr');\n for (const column of columns) {\n const td = document.createElement('td');\n td.textContent = cellText(row?.[column]);\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n table.appendChild(tbody);\n\n const hidden = data.length - limit;\n if (hidden > 0) {\n const footRow = document.createElement('tr');\n const td = document.createElement('td');\n td.colSpan = columns.length;\n td.textContent = `\u2026and ${hidden} more row${hidden === 1 ? '' : 's'}`;\n footRow.appendChild(td);\n tbody.appendChild(footRow);\n }\n\n return table;\n}\n"],
5
+ "mappings": "AAYA,SAAS,sBAAsB;AAGxB,MAAM,gBACX;AAIF,MAAM,WAAW;AAGjB,SAAS,UAAU,MAAkC;AACnD,QAAM,OAAO,oBAAI,IAAY;AAC7B,QAAM,UAAoB,CAAC;AAC3B,aAAW,OAAO,MAAM;AACtB,QAAI,OAAO,OAAO,QAAQ,UAAU;AAClC,iBAAW,OAAO,OAAO,KAAK,GAAG,GAAG;AAClC,YAAI,CAAC,KAAK,IAAI,GAAG,GAAG;AAClB,eAAK,IAAI,GAAG;AACZ,kBAAQ,KAAK,GAAG;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEA,SAAS,SAAS,OAAwB;AACxC,MAAI,SAAS,KAAM,QAAO;AAC1B,MAAI,iBAAiB,KAAM,QAAO,MAAM,YAAY;AACpD,SAAO,OAAO,KAAK;AACrB;AAMO,SAAS,uBAAuB,MAA0C;AAC/E,QAAM,OAAO,MAAM,QAAQ,KAAK,IAAI,IAAI,KAAK,OAAO,CAAC;AACrD,MAAI,KAAK,WAAW,EAAG,QAAO;AAC9B,QAAM,UAAU,UAAU,IAAI;AAC9B,MAAI,QAAQ,WAAW,EAAG,QAAO;AAEjC,QAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,QAAM,aAAa,SAAS,aAAa;AAEzC,QAAM,UAAU,SAAS,cAAc,SAAS;AAChD,UAAQ,cAAc,eAAe,IAAI,EAAE;AAC3C,QAAM,YAAY,OAAO;AAEzB,QAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,QAAM,UAAU,SAAS,cAAc,IAAI;AAC3C,aAAW,UAAU,SAAS;AAC5B,UAAM,KAAK,SAAS,cAAc,IAAI;AACtC,OAAG,QAAQ;AACX,OAAG,cAAc;AACjB,YAAQ,YAAY,EAAE;AAAA,EACxB;AACA,QAAM,YAAY,OAAO;AACzB,QAAM,YAAY,KAAK;AAEvB,QAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,QAAM,QAAQ,KAAK,IAAI,KAAK,QAAQ,QAAQ;AAC5C,WAAS,IAAI,GAAG,IAAI,OAAO,KAAK;AAC9B,UAAM,MAAM,KAAK,CAAC;AAClB,UAAM,KAAK,SAAS,cAAc,IAAI;AACtC,eAAW,UAAU,SAAS;AAC5B,YAAM,KAAK,SAAS,cAAc,IAAI;AACtC,SAAG,cAAc,SAAS,MAAM,MAAM,CAAC;AACvC,SAAG,YAAY,EAAE;AAAA,IACnB;AACA,UAAM,YAAY,EAAE;AAAA,EACtB;AACA,QAAM,YAAY,KAAK;AAEvB,QAAM,SAAS,KAAK,SAAS;AAC7B,MAAI,SAAS,GAAG;AACd,UAAM,UAAU,SAAS,cAAc,IAAI;AAC3C,UAAM,KAAK,SAAS,cAAc,IAAI;AACtC,OAAG,UAAU,QAAQ;AACrB,OAAG,cAAc,aAAQ,MAAM,YAAY,WAAW,IAAI,KAAK,GAAG;AAClE,YAAQ,YAAY,EAAE;AACtB,UAAM,YAAY,OAAO;AAAA,EAC3B;AAEA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Auto-insight annotations — turn a chart's {@link analyzeChart} facts into
3
+ * on-chart callouts. A cartesian chart opts in with `insights: true` (or an
4
+ * {@link InsightOptions} object); the library finds the notable points (the peak,
5
+ * the trough, statistical outliers, or the top/bottom category) and emits labeled
6
+ * `point` {@link Annotation}s — so an agent never has to reason out *where* the
7
+ * maximum is or hardcode its coordinates.
8
+ *
9
+ * Pure and deterministic: a function of the spec + its data, reusing the same
10
+ * analytical core as {@link summarize}. Multi-series charts are skipped (markers
11
+ * on every series would clutter the plot); use `insights` on a single series.
12
+ */
13
+ import type { Annotation, ChartSpec, InsightOptions } from '../spec/types.js';
14
+ /** Normalize the `insights` field to concrete flags, or `null` when disabled. */
15
+ export declare function resolveInsightOptions(insights: boolean | InsightOptions | undefined): Required<InsightOptions> | null;
16
+ /**
17
+ * Expand a chart's `insights` option into `point` annotations for its notable
18
+ * data points. Returns `[]` when insights are disabled, the chart has no
19
+ * summarizable trend, or it splits into multiple series.
20
+ */
21
+ export declare function autoInsightAnnotations(spec: ChartSpec): Annotation[];
22
+ //# sourceMappingURL=autoInsights.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoInsights.d.ts","sourceRoot":"","sources":["../../src/analyze/autoInsights.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAO3E,iFAAiF;AACjF,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS,GAC7C,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAQjC;AAMD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,GAAG,UAAU,EAAE,CA8CpE"}
@@ -0,0 +1,63 @@
1
+ import { formatValue } from "../format/index.js";
2
+ import { analyzeChart } from "./insights.js";
3
+ const DEFAULTS = { max: true, min: true, outliers: false };
4
+ function resolveInsightOptions(insights) {
5
+ if (!insights) return null;
6
+ if (insights === true) return { ...DEFAULTS };
7
+ return {
8
+ max: insights.max ?? DEFAULTS.max,
9
+ min: insights.min ?? DEFAULTS.min,
10
+ outliers: insights.outliers ?? DEFAULTS.outliers
11
+ };
12
+ }
13
+ function pointAnnotation(pt, label) {
14
+ return { type: "point", x: pt.raw ?? pt.label, y: pt.value, label };
15
+ }
16
+ function autoInsightAnnotations(spec) {
17
+ const opts = resolveInsightOptions(spec.insights);
18
+ if (!opts) return [];
19
+ const ins = analyzeChart(spec);
20
+ if (!ins) return [];
21
+ const fmt = (v) => formatValue(v, ins.measureFormat);
22
+ const out = [];
23
+ const used = /* @__PURE__ */ new Set();
24
+ if (ins.family === "series") {
25
+ const series = ins.series ?? [];
26
+ if (series.length !== 1) return [];
27
+ const s = series[0];
28
+ if (opts.max) {
29
+ out.push(pointAnnotation(s.max, `\u25B2 ${fmt(s.max.value)}`));
30
+ used.add(s.max.index);
31
+ }
32
+ if (opts.min && !used.has(s.min.index)) {
33
+ out.push(pointAnnotation(s.min, `\u25BC ${fmt(s.min.value)}`));
34
+ used.add(s.min.index);
35
+ }
36
+ if (opts.outliers) {
37
+ for (const o of s.outliers) {
38
+ if (used.has(o.index)) continue;
39
+ out.push(pointAnnotation(o, fmt(o.value)));
40
+ used.add(o.index);
41
+ }
42
+ }
43
+ return out;
44
+ }
45
+ if (ins.family === "category") {
46
+ const c = ins.category;
47
+ if (!c) return [];
48
+ if (opts.max) {
49
+ out.push(pointAnnotation(c.top, `\u25B2 ${fmt(c.top.value)}`));
50
+ used.add(c.top.index);
51
+ }
52
+ if (opts.min && !used.has(c.bottom.index)) {
53
+ out.push(pointAnnotation(c.bottom, `\u25BC ${fmt(c.bottom.value)}`));
54
+ }
55
+ return out;
56
+ }
57
+ return [];
58
+ }
59
+ export {
60
+ autoInsightAnnotations,
61
+ resolveInsightOptions
62
+ };
63
+ //# sourceMappingURL=autoInsights.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/analyze/autoInsights.ts"],
4
+ "sourcesContent": ["/**\n * Auto-insight annotations \u2014 turn a chart's {@link analyzeChart} facts into\n * on-chart callouts. A cartesian chart opts in with `insights: true` (or an\n * {@link InsightOptions} object); the library finds the notable points (the peak,\n * the trough, statistical outliers, or the top/bottom category) and emits labeled\n * `point` {@link Annotation}s \u2014 so an agent never has to reason out *where* the\n * maximum is or hardcode its coordinates.\n *\n * Pure and deterministic: a function of the spec + its data, reusing the same\n * analytical core as {@link summarize}. Multi-series charts are skipped (markers\n * on every series would clutter the plot); use `insights` on a single series.\n */\n\nimport type { Annotation, ChartSpec, InsightOptions } from '../spec/types';\nimport { formatValue } from '../format';\nimport { analyzeChart, type PointRef } from './insights';\n\n/** Default opt-ins when `insights: true` (or an object omits a flag). */\nconst DEFAULTS: Required<InsightOptions> = { max: true, min: true, outliers: false };\n\n/** Normalize the `insights` field to concrete flags, or `null` when disabled. */\nexport function resolveInsightOptions(\n insights: boolean | InsightOptions | undefined,\n): Required<InsightOptions> | null {\n if (!insights) return null;\n if (insights === true) return { ...DEFAULTS };\n return {\n max: insights.max ?? DEFAULTS.max,\n min: insights.min ?? DEFAULTS.min,\n outliers: insights.outliers ?? DEFAULTS.outliers,\n };\n}\n\nfunction pointAnnotation(pt: PointRef, label: string): Annotation {\n return { type: 'point', x: (pt.raw ?? pt.label) as Annotation['x'], y: pt.value, label };\n}\n\n/**\n * Expand a chart's `insights` option into `point` annotations for its notable\n * data points. Returns `[]` when insights are disabled, the chart has no\n * summarizable trend, or it splits into multiple series.\n */\nexport function autoInsightAnnotations(spec: ChartSpec): Annotation[] {\n const opts = resolveInsightOptions((spec as { insights?: boolean | InsightOptions }).insights);\n if (!opts) return [];\n const ins = analyzeChart(spec);\n if (!ins) return [];\n\n const fmt = (v: number): string => formatValue(v, ins.measureFormat);\n const out: Annotation[] = [];\n const used = new Set<number>();\n\n if (ins.family === 'series') {\n const series = ins.series ?? [];\n if (series.length !== 1) return []; // avoid clutter on multi-series plots\n const s = series[0];\n if (opts.max) {\n out.push(pointAnnotation(s.max, `\\u25B2 ${fmt(s.max.value)}`));\n used.add(s.max.index);\n }\n if (opts.min && !used.has(s.min.index)) {\n out.push(pointAnnotation(s.min, `\\u25BC ${fmt(s.min.value)}`));\n used.add(s.min.index);\n }\n if (opts.outliers) {\n for (const o of s.outliers) {\n if (used.has(o.index)) continue;\n out.push(pointAnnotation(o, fmt(o.value)));\n used.add(o.index);\n }\n }\n return out;\n }\n\n if (ins.family === 'category') {\n const c = ins.category;\n if (!c) return [];\n if (opts.max) {\n out.push(pointAnnotation(c.top, `\\u25B2 ${fmt(c.top.value)}`));\n used.add(c.top.index);\n }\n if (opts.min && !used.has(c.bottom.index)) {\n out.push(pointAnnotation(c.bottom, `\\u25BC ${fmt(c.bottom.value)}`));\n }\n return out;\n }\n\n return []; // scatter / value / distribution: no point callouts for now\n}\n"],
5
+ "mappings": "AAcA,SAAS,mBAAmB;AAC5B,SAAS,oBAAmC;AAG5C,MAAM,WAAqC,EAAE,KAAK,MAAM,KAAK,MAAM,UAAU,MAAM;AAG5E,SAAS,sBACd,UACiC;AACjC,MAAI,CAAC,SAAU,QAAO;AACtB,MAAI,aAAa,KAAM,QAAO,EAAE,GAAG,SAAS;AAC5C,SAAO;AAAA,IACL,KAAK,SAAS,OAAO,SAAS;AAAA,IAC9B,KAAK,SAAS,OAAO,SAAS;AAAA,IAC9B,UAAU,SAAS,YAAY,SAAS;AAAA,EAC1C;AACF;AAEA,SAAS,gBAAgB,IAAc,OAA2B;AAChE,SAAO,EAAE,MAAM,SAAS,GAAI,GAAG,OAAO,GAAG,OAA2B,GAAG,GAAG,OAAO,MAAM;AACzF;AAOO,SAAS,uBAAuB,MAA+B;AACpE,QAAM,OAAO,sBAAuB,KAAiD,QAAQ;AAC7F,MAAI,CAAC,KAAM,QAAO,CAAC;AACnB,QAAM,MAAM,aAAa,IAAI;AAC7B,MAAI,CAAC,IAAK,QAAO,CAAC;AAElB,QAAM,MAAM,CAAC,MAAsB,YAAY,GAAG,IAAI,aAAa;AACnE,QAAM,MAAoB,CAAC;AAC3B,QAAM,OAAO,oBAAI,IAAY;AAE7B,MAAI,IAAI,WAAW,UAAU;AAC3B,UAAM,SAAS,IAAI,UAAU,CAAC;AAC9B,QAAI,OAAO,WAAW,EAAG,QAAO,CAAC;AACjC,UAAM,IAAI,OAAO,CAAC;AAClB,QAAI,KAAK,KAAK;AACZ,UAAI,KAAK,gBAAgB,EAAE,KAAK,UAAU,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC;AAC7D,WAAK,IAAI,EAAE,IAAI,KAAK;AAAA,IACtB;AACA,QAAI,KAAK,OAAO,CAAC,KAAK,IAAI,EAAE,IAAI,KAAK,GAAG;AACtC,UAAI,KAAK,gBAAgB,EAAE,KAAK,UAAU,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC;AAC7D,WAAK,IAAI,EAAE,IAAI,KAAK;AAAA,IACtB;AACA,QAAI,KAAK,UAAU;AACjB,iBAAW,KAAK,EAAE,UAAU;AAC1B,YAAI,KAAK,IAAI,EAAE,KAAK,EAAG;AACvB,YAAI,KAAK,gBAAgB,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;AACzC,aAAK,IAAI,EAAE,KAAK;AAAA,MAClB;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAEA,MAAI,IAAI,WAAW,YAAY;AAC7B,UAAM,IAAI,IAAI;AACd,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,KAAK,KAAK;AACZ,UAAI,KAAK,gBAAgB,EAAE,KAAK,UAAU,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC;AAC7D,WAAK,IAAI,EAAE,IAAI,KAAK;AAAA,IACtB;AACA,QAAI,KAAK,OAAO,CAAC,KAAK,IAAI,EAAE,OAAO,KAAK,GAAG;AACzC,UAAI,KAAK,gBAAgB,EAAE,QAAQ,UAAU,IAAI,EAAE,OAAO,KAAK,CAAC,EAAE,CAAC;AAAA,IACrE;AACA,WAAO;AAAA,EACT;AAEA,SAAO,CAAC;AACV;",
6
+ "names": []
7
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Self-explaining chart analysis: structured data insights and deterministic
3
+ * natural-language summaries (alt-text without an LLM).
4
+ */
5
+ export * from './insights.js';
6
+ export * from './summarize.js';
7
+ export * from './autoInsights.js';
8
+ export * from './regression.js';
9
+ export * from './recommend.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/analyze/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./insights.js";
2
+ export * from "./summarize.js";
3
+ export * from "./autoInsights.js";
4
+ export * from "./regression.js";
5
+ export * from "./recommend.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/analyze/index.ts"],
4
+ "sourcesContent": ["/**\n * Self-explaining chart analysis: structured data insights and deterministic\n * natural-language summaries (alt-text without an LLM).\n */\nexport * from './insights';\nexport * from './summarize';\nexport * from './autoInsights';\nexport * from './regression';\nexport * from './recommend';\n"],
5
+ "mappings": "AAIA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,142 @@
1
+ /**
2
+ * Data insight analysis — the pure analytical core behind self-explaining charts.
3
+ *
4
+ * Given a {@link ChartSpec} (spec + its `data`), {@link analyzeChart} derives a
5
+ * structured, dependency-free set of facts about what the numbers *say*: the
6
+ * trend and net change of a series, the largest/smallest category and its share,
7
+ * outliers, scatter correlation, a value vs. its target. Two consumers build on
8
+ * it without re-deriving anything:
9
+ * - {@link summarize} turns insights into a deterministic plain-English summary
10
+ * (doubles as alt-text — no LLM).
11
+ * - auto-insight annotations turn the same `PointRef`s into on-chart callouts.
12
+ *
13
+ * The analysis is a pure function of the spec; it reads rows as-is (charts plot
14
+ * rows in data order, so first/last reflect data order) and never mutates input.
15
+ */
16
+ import type { ChartSpec, ChartType } from '../spec/types.js';
17
+ import type { FieldType } from '../types.js';
18
+ /** A single salient point in a series: its value, its x-label, and row index. */
19
+ export interface PointRef {
20
+ /** The x-axis label for this point (formatted as a string). */
21
+ label: string;
22
+ /** The numeric value at this point. */
23
+ value: number;
24
+ /** Index of the originating row within its series. */
25
+ index: number;
26
+ /**
27
+ * The raw x-axis domain value (a `Date`, string, or number) for this point,
28
+ * suitable for mapping back to a pixel via a chart's x-scale. Undefined when
29
+ * the analysis had no x channel (e.g. a raw distribution).
30
+ */
31
+ raw?: unknown;
32
+ }
33
+ /** Trend + spread facts for one ordered numeric series. */
34
+ export interface SeriesInsights {
35
+ /** Series name (`''` for a single, unsplit series). */
36
+ key: string;
37
+ /** Number of points. */
38
+ count: number;
39
+ first: PointRef;
40
+ last: PointRef;
41
+ min: PointRef;
42
+ max: PointRef;
43
+ /** Arithmetic mean of the values. */
44
+ mean: number;
45
+ /** Sum of the values. */
46
+ sum: number;
47
+ /** `last - first`. */
48
+ netChange: number;
49
+ /** `(last - first) / |first|`, or `null` when `first` is 0. */
50
+ pctChange: number | null;
51
+ /** Overall direction of travel from first to last. */
52
+ direction: 'up' | 'down' | 'flat';
53
+ /** The largest single step between consecutive points (by absolute delta). */
54
+ biggestJump: {
55
+ from: PointRef;
56
+ to: PointRef;
57
+ delta: number;
58
+ } | null;
59
+ /** Points beyond the 1.5×IQR Tukey fences (empty when none). */
60
+ outliers: PointRef[];
61
+ }
62
+ /** Part-to-whole facts for a categorical measure. */
63
+ export interface CategoryInsights {
64
+ /** Number of categories. */
65
+ count: number;
66
+ /** Sum of the measure across all categories. */
67
+ total: number;
68
+ /** The largest category. */
69
+ top: PointRef;
70
+ /** The smallest category. */
71
+ bottom: PointRef;
72
+ /** `top.value / total` (0..1), or 0 when the total is not positive. */
73
+ topShare: number;
74
+ /** Repeated category labels in row-preserving charts. */
75
+ duplicateCategories?: string[];
76
+ }
77
+ /** Relationship facts for an x/y point cloud. */
78
+ export interface ScatterInsights {
79
+ count: number;
80
+ xExtent: [number, number];
81
+ yExtent: [number, number];
82
+ /** Pearson correlation coefficient (−1..1), or `null` when undefined. */
83
+ correlation: number | null;
84
+ }
85
+ /** A single value measured against an optional target. */
86
+ export interface ValueInsights {
87
+ value: number;
88
+ target: number | null;
89
+ /** `value - target`, or `null` when there is no target. */
90
+ toTarget: number | null;
91
+ /** `value / target`, or `null` when there is no (non-zero) target. */
92
+ pctOfTarget: number | null;
93
+ }
94
+ export type InsightFamily = 'series' | 'category' | 'scatter' | 'value' | 'distribution';
95
+ /** The structured insight payload for a chart (see {@link analyzeChart}). */
96
+ export interface ChartInsights {
97
+ type: ChartType;
98
+ family: InsightFamily;
99
+ /** Rows backing the chart. */
100
+ rowCount: number;
101
+ /** The measure field name (y / value / theta), when there is one. */
102
+ measureField?: string;
103
+ /** The measure's number-format hint (for downstream formatting). */
104
+ measureFormat?: string;
105
+ /** Display title for the measure (field title or field name). */
106
+ measureLabel?: string;
107
+ /** The category / x field name, when there is one. */
108
+ categoryField?: string;
109
+ /** Inferred type of the x / category field. */
110
+ categoryType?: FieldType;
111
+ /** Per-series trend facts (family `series`). */
112
+ series?: SeriesInsights[];
113
+ /** Highest-ending series (multi-series only). */
114
+ leader?: {
115
+ key: string;
116
+ value: number;
117
+ };
118
+ /** The series that moved most from first→last (multi-series only). */
119
+ biggestMover?: {
120
+ key: string;
121
+ delta: number;
122
+ };
123
+ /** Part-to-whole facts (family `category`). */
124
+ category?: CategoryInsights;
125
+ /** Point-cloud facts (family `scatter`). */
126
+ scatter?: ScatterInsights;
127
+ /** Single value vs. target (family `value`). */
128
+ value?: ValueInsights;
129
+ /** Distribution of one measure (family `distribution`, e.g. histogram). */
130
+ distribution?: SeriesInsights;
131
+ }
132
+ /**
133
+ * Compute trend + spread insights for a parallel `values`/`labels` series.
134
+ * Returns `null` when there are no finite values.
135
+ */
136
+ export declare function computeSeriesInsights(values: readonly number[], labels: readonly string[], key?: string, raws?: readonly unknown[]): SeriesInsights | null;
137
+ /**
138
+ * Derive structured insights from a chart spec, or `null` when the chart type
139
+ * carries no summarizable trend (e.g. table, matrix, sankey, maps).
140
+ */
141
+ export declare function analyzeChart(spec: ChartSpec): ChartInsights | null;
142
+ //# sourceMappingURL=insights.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insights.d.ts","sourceRoot":"","sources":["../../src/analyze/insights.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAgC,MAAM,eAAe,CAAC;AAExF,OAAO,KAAK,EAAS,SAAS,EAAE,MAAM,UAAU,CAAC;AAMjD,iFAAiF;AACjF,MAAM,WAAW,QAAQ;IACvB,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,GAAG,EAAE,MAAM,CAAC;IACZ,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,QAAQ,CAAC;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,QAAQ,CAAC;IACd,GAAG,EAAE,QAAQ,CAAC;IACd,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,sDAAsD;IACtD,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,8EAA8E;IAC9E,WAAW,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,EAAE,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACpE,gEAAgE;IAChE,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED,qDAAqD;AACrD,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,GAAG,EAAE,QAAQ,CAAC;IACd,6BAA6B;IAC7B,MAAM,EAAE,QAAQ,CAAC;IACjB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,iDAAiD;AACjD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,yEAAyE;IACzE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,0DAA0D;AAC1D,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,sEAAsE;IACtE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,cAAc,CAAC;AAEzF,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,gDAAgD;IAChD,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,iDAAiD;IACjD,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,sEAAsE;IACtE,YAAY,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,4CAA4C;IAC5C,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,gDAAgD;IAChD,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,cAAc,CAAC;CAC/B;AASD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,GAAG,SAAK,EACR,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,GACxB,cAAc,GAAG,IAAI,CAwCvB;AAoRD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,aAAa,GAAG,IAAI,CAmClE"}