@outsidedata/dolex 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 (1598) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +154 -0
  3. package/data/geo/continents/africa.json +1 -0
  4. package/data/geo/continents/asia.json +1 -0
  5. package/data/geo/continents/europe.json +1 -0
  6. package/data/geo/continents/north-america.json +1 -0
  7. package/data/geo/continents/oceania.json +1 -0
  8. package/data/geo/continents/south-america.json +1 -0
  9. package/data/geo/countries/argentina/provinces.json +1 -0
  10. package/data/geo/countries/australia/states.json +1 -0
  11. package/data/geo/countries/brazil/states.json +1 -0
  12. package/data/geo/countries/canada/provinces.json +1 -0
  13. package/data/geo/countries/china/provinces.json +1 -0
  14. package/data/geo/countries/colombia/departments.json +1 -0
  15. package/data/geo/countries/france/departments.json +1 -0
  16. package/data/geo/countries/germany/regions.json +1 -0
  17. package/data/geo/countries/india/states.json +1 -0
  18. package/data/geo/countries/italy/regions.json +1 -0
  19. package/data/geo/countries/japan/prefectures.json +1 -0
  20. package/data/geo/countries/mexico/states.json +1 -0
  21. package/data/geo/countries/russia/regions.json +1 -0
  22. package/data/geo/countries/south-africa/provinces.json +1 -0
  23. package/data/geo/countries/south-korea/provinces.json +1 -0
  24. package/data/geo/countries/spain/comunidades.json +1 -0
  25. package/data/geo/countries/uk/counties.json +1 -0
  26. package/data/geo/countries-110m.json +1 -0
  27. package/data/geo/countries-50m.json +1 -0
  28. package/data/geo/countries-no-antarctica.json +1 -0
  29. package/data/geo/states-10m.json +1 -0
  30. package/data/geo/us/congressional-districts-20m.json +1 -0
  31. package/data/geo/us/counties-10m.json +1 -0
  32. package/data/geo/us/counties-albers-10m.json +1 -0
  33. package/data/geo/us/nation-10m.json +1 -0
  34. package/data/geo/us/nation-albers-10m.json +1 -0
  35. package/data/geo/us/states-10m.json +1 -0
  36. package/data/geo/us/states-albers-10m.json +1 -0
  37. package/dist/src/analysis/classify.d.ts +4 -0
  38. package/dist/src/analysis/classify.d.ts.map +1 -0
  39. package/dist/src/analysis/classify.js +60 -0
  40. package/dist/src/analysis/classify.js.map +1 -0
  41. package/dist/src/analysis/index.d.ts +5 -0
  42. package/dist/src/analysis/index.d.ts.map +1 -0
  43. package/dist/src/analysis/index.js +4 -0
  44. package/dist/src/analysis/index.js.map +1 -0
  45. package/dist/src/analysis/planner.d.ts +4 -0
  46. package/dist/src/analysis/planner.d.ts.map +1 -0
  47. package/dist/src/analysis/planner.js +51 -0
  48. package/dist/src/analysis/planner.js.map +1 -0
  49. package/dist/src/analysis/rules.d.ts +5 -0
  50. package/dist/src/analysis/rules.d.ts.map +1 -0
  51. package/dist/src/analysis/rules.js +139 -0
  52. package/dist/src/analysis/rules.js.map +1 -0
  53. package/dist/src/analysis/types.d.ts +39 -0
  54. package/dist/src/analysis/types.d.ts.map +1 -0
  55. package/dist/src/analysis/types.js +2 -0
  56. package/dist/src/analysis/types.js.map +1 -0
  57. package/dist/src/connectors/csv.d.ts +11 -0
  58. package/dist/src/connectors/csv.d.ts.map +1 -0
  59. package/dist/src/connectors/csv.js +330 -0
  60. package/dist/src/connectors/csv.js.map +1 -0
  61. package/dist/src/connectors/dsl-compiler.d.ts +21 -0
  62. package/dist/src/connectors/dsl-compiler.d.ts.map +1 -0
  63. package/dist/src/connectors/dsl-compiler.js +313 -0
  64. package/dist/src/connectors/dsl-compiler.js.map +1 -0
  65. package/dist/src/connectors/dsl-validator.d.ts +19 -0
  66. package/dist/src/connectors/dsl-validator.d.ts.map +1 -0
  67. package/dist/src/connectors/dsl-validator.js +434 -0
  68. package/dist/src/connectors/dsl-validator.js.map +1 -0
  69. package/dist/src/connectors/index.d.ts +12 -0
  70. package/dist/src/connectors/index.d.ts.map +1 -0
  71. package/dist/src/connectors/index.js +13 -0
  72. package/dist/src/connectors/index.js.map +1 -0
  73. package/dist/src/connectors/js-aggregation.d.ts +22 -0
  74. package/dist/src/connectors/js-aggregation.d.ts.map +1 -0
  75. package/dist/src/connectors/js-aggregation.js +342 -0
  76. package/dist/src/connectors/js-aggregation.js.map +1 -0
  77. package/dist/src/connectors/manager.d.ts +92 -0
  78. package/dist/src/connectors/manager.d.ts.map +1 -0
  79. package/dist/src/connectors/manager.js +341 -0
  80. package/dist/src/connectors/manager.js.map +1 -0
  81. package/dist/src/connectors/mysql.d.ts +11 -0
  82. package/dist/src/connectors/mysql.d.ts.map +1 -0
  83. package/dist/src/connectors/mysql.js +293 -0
  84. package/dist/src/connectors/mysql.js.map +1 -0
  85. package/dist/src/connectors/postgres.d.ts +11 -0
  86. package/dist/src/connectors/postgres.d.ts.map +1 -0
  87. package/dist/src/connectors/postgres.js +289 -0
  88. package/dist/src/connectors/postgres.js.map +1 -0
  89. package/dist/src/connectors/sqlite.d.ts +10 -0
  90. package/dist/src/connectors/sqlite.d.ts.map +1 -0
  91. package/dist/src/connectors/sqlite.js +297 -0
  92. package/dist/src/connectors/sqlite.js.map +1 -0
  93. package/dist/src/connectors/types.d.ts +57 -0
  94. package/dist/src/connectors/types.d.ts.map +1 -0
  95. package/dist/src/connectors/types.js +5 -0
  96. package/dist/src/connectors/types.js.map +1 -0
  97. package/dist/src/index.d.ts +26 -0
  98. package/dist/src/index.d.ts.map +1 -0
  99. package/dist/src/index.js +27 -0
  100. package/dist/src/index.js.map +1 -0
  101. package/dist/src/mcp/app-shell.d.ts +15 -0
  102. package/dist/src/mcp/app-shell.d.ts.map +1 -0
  103. package/dist/src/mcp/app-shell.js +260 -0
  104. package/dist/src/mcp/app-shell.js.map +1 -0
  105. package/dist/src/mcp/index.d.ts +28 -0
  106. package/dist/src/mcp/index.d.ts.map +1 -0
  107. package/dist/src/mcp/index.js +262 -0
  108. package/dist/src/mcp/index.js.map +1 -0
  109. package/dist/src/mcp/prompts.d.ts +3 -0
  110. package/dist/src/mcp/prompts.d.ts.map +1 -0
  111. package/dist/src/mcp/prompts.js +30 -0
  112. package/dist/src/mcp/prompts.js.map +1 -0
  113. package/dist/src/mcp/spec-store.d.ts +37 -0
  114. package/dist/src/mcp/spec-store.d.ts.map +1 -0
  115. package/dist/src/mcp/spec-store.js +99 -0
  116. package/dist/src/mcp/spec-store.js.map +1 -0
  117. package/dist/src/mcp/tools/analyze.d.ts +22 -0
  118. package/dist/src/mcp/tools/analyze.d.ts.map +1 -0
  119. package/dist/src/mcp/tools/analyze.js +34 -0
  120. package/dist/src/mcp/tools/analyze.js.map +1 -0
  121. package/dist/src/mcp/tools/bug-report.d.ts +42 -0
  122. package/dist/src/mcp/tools/bug-report.d.ts.map +1 -0
  123. package/dist/src/mcp/tools/bug-report.js +154 -0
  124. package/dist/src/mcp/tools/bug-report.js.map +1 -0
  125. package/dist/src/mcp/tools/dashboard-refine.d.ts +23 -0
  126. package/dist/src/mcp/tools/dashboard-refine.d.ts.map +1 -0
  127. package/dist/src/mcp/tools/dashboard-refine.js +394 -0
  128. package/dist/src/mcp/tools/dashboard-refine.js.map +1 -0
  129. package/dist/src/mcp/tools/dashboard.d.ts +14 -0
  130. package/dist/src/mcp/tools/dashboard.d.ts.map +1 -0
  131. package/dist/src/mcp/tools/dashboard.js +40 -0
  132. package/dist/src/mcp/tools/dashboard.js.map +1 -0
  133. package/dist/src/mcp/tools/dsl-schemas.d.ts +1540 -0
  134. package/dist/src/mcp/tools/dsl-schemas.d.ts.map +1 -0
  135. package/dist/src/mcp/tools/dsl-schemas.js +237 -0
  136. package/dist/src/mcp/tools/dsl-schemas.js.map +1 -0
  137. package/dist/src/mcp/tools/export-html.d.ts +18 -0
  138. package/dist/src/mcp/tools/export-html.d.ts.map +1 -0
  139. package/dist/src/mcp/tools/export-html.js +40 -0
  140. package/dist/src/mcp/tools/export-html.js.map +1 -0
  141. package/dist/src/mcp/tools/list-patterns.d.ts +9 -0
  142. package/dist/src/mcp/tools/list-patterns.d.ts.map +1 -0
  143. package/dist/src/mcp/tools/list-patterns.js +286 -0
  144. package/dist/src/mcp/tools/list-patterns.js.map +1 -0
  145. package/dist/src/mcp/tools/operation-log.d.ts +54 -0
  146. package/dist/src/mcp/tools/operation-log.d.ts.map +1 -0
  147. package/dist/src/mcp/tools/operation-log.js +70 -0
  148. package/dist/src/mcp/tools/operation-log.js.map +1 -0
  149. package/dist/src/mcp/tools/query-data.d.ts +43 -0
  150. package/dist/src/mcp/tools/query-data.d.ts.map +1 -0
  151. package/dist/src/mcp/tools/query-data.js +65 -0
  152. package/dist/src/mcp/tools/query-data.js.map +1 -0
  153. package/dist/src/mcp/tools/query-source.d.ts +336 -0
  154. package/dist/src/mcp/tools/query-source.d.ts.map +1 -0
  155. package/dist/src/mcp/tools/query-source.js +62 -0
  156. package/dist/src/mcp/tools/query-source.js.map +1 -0
  157. package/dist/src/mcp/tools/refine.d.ts +24 -0
  158. package/dist/src/mcp/tools/refine.d.ts.map +1 -0
  159. package/dist/src/mcp/tools/refine.js +345 -0
  160. package/dist/src/mcp/tools/refine.js.map +1 -0
  161. package/dist/src/mcp/tools/result-cache.d.ts +24 -0
  162. package/dist/src/mcp/tools/result-cache.d.ts.map +1 -0
  163. package/dist/src/mcp/tools/result-cache.js +48 -0
  164. package/dist/src/mcp/tools/result-cache.js.map +1 -0
  165. package/dist/src/mcp/tools/screenshot.d.ts +30 -0
  166. package/dist/src/mcp/tools/screenshot.d.ts.map +1 -0
  167. package/dist/src/mcp/tools/screenshot.js +79 -0
  168. package/dist/src/mcp/tools/screenshot.js.map +1 -0
  169. package/dist/src/mcp/tools/server-privacy.d.ts +28 -0
  170. package/dist/src/mcp/tools/server-privacy.d.ts.map +1 -0
  171. package/dist/src/mcp/tools/server-privacy.js +77 -0
  172. package/dist/src/mcp/tools/server-privacy.js.map +1 -0
  173. package/dist/src/mcp/tools/shared.d.ts +49 -0
  174. package/dist/src/mcp/tools/shared.d.ts.map +1 -0
  175. package/dist/src/mcp/tools/shared.js +170 -0
  176. package/dist/src/mcp/tools/shared.js.map +1 -0
  177. package/dist/src/mcp/tools/sources.d.ts +160 -0
  178. package/dist/src/mcp/tools/sources.d.ts.map +1 -0
  179. package/dist/src/mcp/tools/sources.js +177 -0
  180. package/dist/src/mcp/tools/sources.js.map +1 -0
  181. package/dist/src/mcp/tools/visualize-from-source.d.ts +518 -0
  182. package/dist/src/mcp/tools/visualize-from-source.d.ts.map +1 -0
  183. package/dist/src/mcp/tools/visualize-from-source.js +61 -0
  184. package/dist/src/mcp/tools/visualize-from-source.js.map +1 -0
  185. package/dist/src/mcp/tools/visualize.d.ts +325 -0
  186. package/dist/src/mcp/tools/visualize.d.ts.map +1 -0
  187. package/dist/src/mcp/tools/visualize.js +190 -0
  188. package/dist/src/mcp/tools/visualize.js.map +1 -0
  189. package/dist/src/patterns/definitions/comparison/bar.d.ts +10 -0
  190. package/dist/src/patterns/definitions/comparison/bar.d.ts.map +1 -0
  191. package/dist/src/patterns/definitions/comparison/bar.js +99 -0
  192. package/dist/src/patterns/definitions/comparison/bar.js.map +1 -0
  193. package/dist/src/patterns/definitions/comparison/bullet.d.ts +11 -0
  194. package/dist/src/patterns/definitions/comparison/bullet.d.ts.map +1 -0
  195. package/dist/src/patterns/definitions/comparison/bullet.js +121 -0
  196. package/dist/src/patterns/definitions/comparison/bullet.js.map +1 -0
  197. package/dist/src/patterns/definitions/comparison/bump-chart.d.ts +11 -0
  198. package/dist/src/patterns/definitions/comparison/bump-chart.d.ts.map +1 -0
  199. package/dist/src/patterns/definitions/comparison/bump-chart.js +124 -0
  200. package/dist/src/patterns/definitions/comparison/bump-chart.js.map +1 -0
  201. package/dist/src/patterns/definitions/comparison/connected-dot-plot.d.ts +11 -0
  202. package/dist/src/patterns/definitions/comparison/connected-dot-plot.d.ts.map +1 -0
  203. package/dist/src/patterns/definitions/comparison/connected-dot-plot.js +99 -0
  204. package/dist/src/patterns/definitions/comparison/connected-dot-plot.js.map +1 -0
  205. package/dist/src/patterns/definitions/comparison/diverging-bar.d.ts +10 -0
  206. package/dist/src/patterns/definitions/comparison/diverging-bar.d.ts.map +1 -0
  207. package/dist/src/patterns/definitions/comparison/diverging-bar.js +97 -0
  208. package/dist/src/patterns/definitions/comparison/diverging-bar.js.map +1 -0
  209. package/dist/src/patterns/definitions/comparison/grouped-bar.d.ts +6 -0
  210. package/dist/src/patterns/definitions/comparison/grouped-bar.d.ts.map +1 -0
  211. package/dist/src/patterns/definitions/comparison/grouped-bar.js +103 -0
  212. package/dist/src/patterns/definitions/comparison/grouped-bar.js.map +1 -0
  213. package/dist/src/patterns/definitions/comparison/index.d.ts +9 -0
  214. package/dist/src/patterns/definitions/comparison/index.d.ts.map +1 -0
  215. package/dist/src/patterns/definitions/comparison/index.js +9 -0
  216. package/dist/src/patterns/definitions/comparison/index.js.map +1 -0
  217. package/dist/src/patterns/definitions/comparison/lollipop.d.ts +11 -0
  218. package/dist/src/patterns/definitions/comparison/lollipop.d.ts.map +1 -0
  219. package/dist/src/patterns/definitions/comparison/lollipop.js +122 -0
  220. package/dist/src/patterns/definitions/comparison/lollipop.js.map +1 -0
  221. package/dist/src/patterns/definitions/comparison/slope-chart.d.ts +10 -0
  222. package/dist/src/patterns/definitions/comparison/slope-chart.d.ts.map +1 -0
  223. package/dist/src/patterns/definitions/comparison/slope-chart.js +99 -0
  224. package/dist/src/patterns/definitions/comparison/slope-chart.js.map +1 -0
  225. package/dist/src/patterns/definitions/comparison/waterfall.d.ts +6 -0
  226. package/dist/src/patterns/definitions/comparison/waterfall.d.ts.map +1 -0
  227. package/dist/src/patterns/definitions/comparison/waterfall.js +85 -0
  228. package/dist/src/patterns/definitions/comparison/waterfall.js.map +1 -0
  229. package/dist/src/patterns/definitions/composition/circle-pack.d.ts +9 -0
  230. package/dist/src/patterns/definitions/composition/circle-pack.d.ts.map +1 -0
  231. package/dist/src/patterns/definitions/composition/circle-pack.js +103 -0
  232. package/dist/src/patterns/definitions/composition/circle-pack.js.map +1 -0
  233. package/dist/src/patterns/definitions/composition/donut.d.ts +6 -0
  234. package/dist/src/patterns/definitions/composition/donut.d.ts.map +1 -0
  235. package/dist/src/patterns/definitions/composition/donut.js +101 -0
  236. package/dist/src/patterns/definitions/composition/donut.js.map +1 -0
  237. package/dist/src/patterns/definitions/composition/icicle.d.ts +10 -0
  238. package/dist/src/patterns/definitions/composition/icicle.d.ts.map +1 -0
  239. package/dist/src/patterns/definitions/composition/icicle.js +114 -0
  240. package/dist/src/patterns/definitions/composition/icicle.js.map +1 -0
  241. package/dist/src/patterns/definitions/composition/index.d.ts +9 -0
  242. package/dist/src/patterns/definitions/composition/index.d.ts.map +1 -0
  243. package/dist/src/patterns/definitions/composition/index.js +9 -0
  244. package/dist/src/patterns/definitions/composition/index.js.map +1 -0
  245. package/dist/src/patterns/definitions/composition/marimekko.d.ts +9 -0
  246. package/dist/src/patterns/definitions/composition/marimekko.d.ts.map +1 -0
  247. package/dist/src/patterns/definitions/composition/marimekko.js +124 -0
  248. package/dist/src/patterns/definitions/composition/marimekko.js.map +1 -0
  249. package/dist/src/patterns/definitions/composition/metric.d.ts +9 -0
  250. package/dist/src/patterns/definitions/composition/metric.d.ts.map +1 -0
  251. package/dist/src/patterns/definitions/composition/metric.js +112 -0
  252. package/dist/src/patterns/definitions/composition/metric.js.map +1 -0
  253. package/dist/src/patterns/definitions/composition/stacked-bar.d.ts +10 -0
  254. package/dist/src/patterns/definitions/composition/stacked-bar.d.ts.map +1 -0
  255. package/dist/src/patterns/definitions/composition/stacked-bar.js +104 -0
  256. package/dist/src/patterns/definitions/composition/stacked-bar.js.map +1 -0
  257. package/dist/src/patterns/definitions/composition/sunburst.d.ts +10 -0
  258. package/dist/src/patterns/definitions/composition/sunburst.d.ts.map +1 -0
  259. package/dist/src/patterns/definitions/composition/sunburst.js +100 -0
  260. package/dist/src/patterns/definitions/composition/sunburst.js.map +1 -0
  261. package/dist/src/patterns/definitions/composition/treemap.d.ts +10 -0
  262. package/dist/src/patterns/definitions/composition/treemap.d.ts.map +1 -0
  263. package/dist/src/patterns/definitions/composition/treemap.js +104 -0
  264. package/dist/src/patterns/definitions/composition/treemap.js.map +1 -0
  265. package/dist/src/patterns/definitions/composition/waffle.d.ts +11 -0
  266. package/dist/src/patterns/definitions/composition/waffle.d.ts.map +1 -0
  267. package/dist/src/patterns/definitions/composition/waffle.js +111 -0
  268. package/dist/src/patterns/definitions/composition/waffle.js.map +1 -0
  269. package/dist/src/patterns/definitions/distribution/beeswarm.d.ts +10 -0
  270. package/dist/src/patterns/definitions/distribution/beeswarm.d.ts.map +1 -0
  271. package/dist/src/patterns/definitions/distribution/beeswarm.js +103 -0
  272. package/dist/src/patterns/definitions/distribution/beeswarm.js.map +1 -0
  273. package/dist/src/patterns/definitions/distribution/box-plot.d.ts +9 -0
  274. package/dist/src/patterns/definitions/distribution/box-plot.d.ts.map +1 -0
  275. package/dist/src/patterns/definitions/distribution/box-plot.js +104 -0
  276. package/dist/src/patterns/definitions/distribution/box-plot.js.map +1 -0
  277. package/dist/src/patterns/definitions/distribution/density-plot.d.ts +10 -0
  278. package/dist/src/patterns/definitions/distribution/density-plot.d.ts.map +1 -0
  279. package/dist/src/patterns/definitions/distribution/density-plot.js +112 -0
  280. package/dist/src/patterns/definitions/distribution/density-plot.js.map +1 -0
  281. package/dist/src/patterns/definitions/distribution/histogram.d.ts +10 -0
  282. package/dist/src/patterns/definitions/distribution/histogram.d.ts.map +1 -0
  283. package/dist/src/patterns/definitions/distribution/histogram.js +109 -0
  284. package/dist/src/patterns/definitions/distribution/histogram.js.map +1 -0
  285. package/dist/src/patterns/definitions/distribution/index.d.ts +9 -0
  286. package/dist/src/patterns/definitions/distribution/index.d.ts.map +1 -0
  287. package/dist/src/patterns/definitions/distribution/index.js +9 -0
  288. package/dist/src/patterns/definitions/distribution/index.js.map +1 -0
  289. package/dist/src/patterns/definitions/distribution/ridgeline.d.ts +10 -0
  290. package/dist/src/patterns/definitions/distribution/ridgeline.d.ts.map +1 -0
  291. package/dist/src/patterns/definitions/distribution/ridgeline.js +105 -0
  292. package/dist/src/patterns/definitions/distribution/ridgeline.js.map +1 -0
  293. package/dist/src/patterns/definitions/distribution/strip-plot.d.ts +10 -0
  294. package/dist/src/patterns/definitions/distribution/strip-plot.d.ts.map +1 -0
  295. package/dist/src/patterns/definitions/distribution/strip-plot.js +93 -0
  296. package/dist/src/patterns/definitions/distribution/strip-plot.js.map +1 -0
  297. package/dist/src/patterns/definitions/distribution/violin.d.ts +10 -0
  298. package/dist/src/patterns/definitions/distribution/violin.d.ts.map +1 -0
  299. package/dist/src/patterns/definitions/distribution/violin.js +105 -0
  300. package/dist/src/patterns/definitions/distribution/violin.js.map +1 -0
  301. package/dist/src/patterns/definitions/flow/alluvial.d.ts +11 -0
  302. package/dist/src/patterns/definitions/flow/alluvial.d.ts.map +1 -0
  303. package/dist/src/patterns/definitions/flow/alluvial.js +107 -0
  304. package/dist/src/patterns/definitions/flow/alluvial.js.map +1 -0
  305. package/dist/src/patterns/definitions/flow/chord.d.ts +11 -0
  306. package/dist/src/patterns/definitions/flow/chord.d.ts.map +1 -0
  307. package/dist/src/patterns/definitions/flow/chord.js +123 -0
  308. package/dist/src/patterns/definitions/flow/chord.js.map +1 -0
  309. package/dist/src/patterns/definitions/flow/funnel.d.ts +6 -0
  310. package/dist/src/patterns/definitions/flow/funnel.d.ts.map +1 -0
  311. package/dist/src/patterns/definitions/flow/funnel.js +69 -0
  312. package/dist/src/patterns/definitions/flow/funnel.js.map +1 -0
  313. package/dist/src/patterns/definitions/flow/index.d.ts +7 -0
  314. package/dist/src/patterns/definitions/flow/index.d.ts.map +1 -0
  315. package/dist/src/patterns/definitions/flow/index.js +7 -0
  316. package/dist/src/patterns/definitions/flow/index.js.map +1 -0
  317. package/dist/src/patterns/definitions/flow/sankey.d.ts +10 -0
  318. package/dist/src/patterns/definitions/flow/sankey.d.ts.map +1 -0
  319. package/dist/src/patterns/definitions/flow/sankey.js +120 -0
  320. package/dist/src/patterns/definitions/flow/sankey.js.map +1 -0
  321. package/dist/src/patterns/definitions/geo/choropleth.d.ts +3 -0
  322. package/dist/src/patterns/definitions/geo/choropleth.d.ts.map +1 -0
  323. package/dist/src/patterns/definitions/geo/choropleth.js +72 -0
  324. package/dist/src/patterns/definitions/geo/choropleth.js.map +1 -0
  325. package/dist/src/patterns/definitions/geo/index.d.ts +6 -0
  326. package/dist/src/patterns/definitions/geo/index.d.ts.map +1 -0
  327. package/dist/src/patterns/definitions/geo/index.js +6 -0
  328. package/dist/src/patterns/definitions/geo/index.js.map +1 -0
  329. package/dist/src/patterns/definitions/geo/proportional-symbol.d.ts +10 -0
  330. package/dist/src/patterns/definitions/geo/proportional-symbol.d.ts.map +1 -0
  331. package/dist/src/patterns/definitions/geo/proportional-symbol.js +81 -0
  332. package/dist/src/patterns/definitions/geo/proportional-symbol.js.map +1 -0
  333. package/dist/src/patterns/definitions/relationship/connected-scatter.d.ts +11 -0
  334. package/dist/src/patterns/definitions/relationship/connected-scatter.d.ts.map +1 -0
  335. package/dist/src/patterns/definitions/relationship/connected-scatter.js +108 -0
  336. package/dist/src/patterns/definitions/relationship/connected-scatter.js.map +1 -0
  337. package/dist/src/patterns/definitions/relationship/heatmap.d.ts +10 -0
  338. package/dist/src/patterns/definitions/relationship/heatmap.d.ts.map +1 -0
  339. package/dist/src/patterns/definitions/relationship/heatmap.js +152 -0
  340. package/dist/src/patterns/definitions/relationship/heatmap.js.map +1 -0
  341. package/dist/src/patterns/definitions/relationship/index.d.ts +8 -0
  342. package/dist/src/patterns/definitions/relationship/index.d.ts.map +1 -0
  343. package/dist/src/patterns/definitions/relationship/index.js +8 -0
  344. package/dist/src/patterns/definitions/relationship/index.js.map +1 -0
  345. package/dist/src/patterns/definitions/relationship/parallel-coordinates.d.ts +10 -0
  346. package/dist/src/patterns/definitions/relationship/parallel-coordinates.d.ts.map +1 -0
  347. package/dist/src/patterns/definitions/relationship/parallel-coordinates.js +104 -0
  348. package/dist/src/patterns/definitions/relationship/parallel-coordinates.js.map +1 -0
  349. package/dist/src/patterns/definitions/relationship/radar.d.ts +11 -0
  350. package/dist/src/patterns/definitions/relationship/radar.d.ts.map +1 -0
  351. package/dist/src/patterns/definitions/relationship/radar.js +125 -0
  352. package/dist/src/patterns/definitions/relationship/radar.js.map +1 -0
  353. package/dist/src/patterns/definitions/relationship/scatter.d.ts +10 -0
  354. package/dist/src/patterns/definitions/relationship/scatter.d.ts.map +1 -0
  355. package/dist/src/patterns/definitions/relationship/scatter.js +122 -0
  356. package/dist/src/patterns/definitions/relationship/scatter.js.map +1 -0
  357. package/dist/src/patterns/definitions/time/area.d.ts +9 -0
  358. package/dist/src/patterns/definitions/time/area.d.ts.map +1 -0
  359. package/dist/src/patterns/definitions/time/area.js +97 -0
  360. package/dist/src/patterns/definitions/time/area.js.map +1 -0
  361. package/dist/src/patterns/definitions/time/calendar-heatmap.d.ts +10 -0
  362. package/dist/src/patterns/definitions/time/calendar-heatmap.d.ts.map +1 -0
  363. package/dist/src/patterns/definitions/time/calendar-heatmap.js +109 -0
  364. package/dist/src/patterns/definitions/time/calendar-heatmap.js.map +1 -0
  365. package/dist/src/patterns/definitions/time/horizon-chart.d.ts +3 -0
  366. package/dist/src/patterns/definitions/time/horizon-chart.d.ts.map +1 -0
  367. package/dist/src/patterns/definitions/time/horizon-chart.js +92 -0
  368. package/dist/src/patterns/definitions/time/horizon-chart.js.map +1 -0
  369. package/dist/src/patterns/definitions/time/index.d.ts +8 -0
  370. package/dist/src/patterns/definitions/time/index.d.ts.map +1 -0
  371. package/dist/src/patterns/definitions/time/index.js +8 -0
  372. package/dist/src/patterns/definitions/time/index.js.map +1 -0
  373. package/dist/src/patterns/definitions/time/line.d.ts +10 -0
  374. package/dist/src/patterns/definitions/time/line.d.ts.map +1 -0
  375. package/dist/src/patterns/definitions/time/line.js +104 -0
  376. package/dist/src/patterns/definitions/time/line.js.map +1 -0
  377. package/dist/src/patterns/definitions/time/small-multiples.d.ts +11 -0
  378. package/dist/src/patterns/definitions/time/small-multiples.d.ts.map +1 -0
  379. package/dist/src/patterns/definitions/time/small-multiples.js +99 -0
  380. package/dist/src/patterns/definitions/time/small-multiples.js.map +1 -0
  381. package/dist/src/patterns/definitions/time/sparkline-grid.d.ts +10 -0
  382. package/dist/src/patterns/definitions/time/sparkline-grid.d.ts.map +1 -0
  383. package/dist/src/patterns/definitions/time/sparkline-grid.js +123 -0
  384. package/dist/src/patterns/definitions/time/sparkline-grid.js.map +1 -0
  385. package/dist/src/patterns/definitions/time/stream-graph.d.ts +10 -0
  386. package/dist/src/patterns/definitions/time/stream-graph.d.ts.map +1 -0
  387. package/dist/src/patterns/definitions/time/stream-graph.js +122 -0
  388. package/dist/src/patterns/definitions/time/stream-graph.js.map +1 -0
  389. package/dist/src/patterns/index.d.ts +23 -0
  390. package/dist/src/patterns/index.d.ts.map +1 -0
  391. package/dist/src/patterns/index.js +32 -0
  392. package/dist/src/patterns/index.js.map +1 -0
  393. package/dist/src/patterns/registry.d.ts +69 -0
  394. package/dist/src/patterns/registry.d.ts.map +1 -0
  395. package/dist/src/patterns/registry.js +230 -0
  396. package/dist/src/patterns/registry.js.map +1 -0
  397. package/dist/src/patterns/selector.d.ts +68 -0
  398. package/dist/src/patterns/selector.d.ts.map +1 -0
  399. package/dist/src/patterns/selector.js +441 -0
  400. package/dist/src/patterns/selector.js.map +1 -0
  401. package/dist/src/patterns/utils.d.ts +77 -0
  402. package/dist/src/patterns/utils.d.ts.map +1 -0
  403. package/dist/src/patterns/utils.js +353 -0
  404. package/dist/src/patterns/utils.js.map +1 -0
  405. package/dist/src/query-engine/candidate-matcher.d.ts +31 -0
  406. package/dist/src/query-engine/candidate-matcher.d.ts.map +1 -0
  407. package/dist/src/query-engine/candidate-matcher.js +157 -0
  408. package/dist/src/query-engine/candidate-matcher.js.map +1 -0
  409. package/dist/src/query-engine/chart-detector.d.ts +26 -0
  410. package/dist/src/query-engine/chart-detector.d.ts.map +1 -0
  411. package/dist/src/query-engine/chart-detector.js +61 -0
  412. package/dist/src/query-engine/chart-detector.js.map +1 -0
  413. package/dist/src/query-engine/index.d.ts +56 -0
  414. package/dist/src/query-engine/index.d.ts.map +1 -0
  415. package/dist/src/query-engine/index.js +185 -0
  416. package/dist/src/query-engine/index.js.map +1 -0
  417. package/dist/src/query-engine/llm-selector.d.ts +47 -0
  418. package/dist/src/query-engine/llm-selector.d.ts.map +1 -0
  419. package/dist/src/query-engine/llm-selector.js +223 -0
  420. package/dist/src/query-engine/llm-selector.js.map +1 -0
  421. package/dist/src/query-engine/schema-loader.d.ts +33 -0
  422. package/dist/src/query-engine/schema-loader.d.ts.map +1 -0
  423. package/dist/src/query-engine/schema-loader.js +144 -0
  424. package/dist/src/query-engine/schema-loader.js.map +1 -0
  425. package/dist/src/query-engine/session.d.ts +71 -0
  426. package/dist/src/query-engine/session.d.ts.map +1 -0
  427. package/dist/src/query-engine/session.js +117 -0
  428. package/dist/src/query-engine/session.js.map +1 -0
  429. package/dist/src/query-engine/sql-builder.d.ts +33 -0
  430. package/dist/src/query-engine/sql-builder.d.ts.map +1 -0
  431. package/dist/src/query-engine/sql-builder.js +146 -0
  432. package/dist/src/query-engine/sql-builder.js.map +1 -0
  433. package/dist/src/query-engine/validator.d.ts +29 -0
  434. package/dist/src/query-engine/validator.d.ts.map +1 -0
  435. package/dist/src/query-engine/validator.js +93 -0
  436. package/dist/src/query-engine/validator.js.map +1 -0
  437. package/dist/src/renderers/d3/comparison/bar.d.ts +6 -0
  438. package/dist/src/renderers/d3/comparison/bar.d.ts.map +1 -0
  439. package/dist/src/renderers/d3/comparison/bar.js +306 -0
  440. package/dist/src/renderers/d3/comparison/bar.js.map +1 -0
  441. package/dist/src/renderers/d3/comparison/bullet.d.ts +3 -0
  442. package/dist/src/renderers/d3/comparison/bullet.d.ts.map +1 -0
  443. package/dist/src/renderers/d3/comparison/bullet.js +209 -0
  444. package/dist/src/renderers/d3/comparison/bullet.js.map +1 -0
  445. package/dist/src/renderers/d3/comparison/bump-chart.d.ts +10 -0
  446. package/dist/src/renderers/d3/comparison/bump-chart.d.ts.map +1 -0
  447. package/dist/src/renderers/d3/comparison/bump-chart.js +210 -0
  448. package/dist/src/renderers/d3/comparison/bump-chart.js.map +1 -0
  449. package/dist/src/renderers/d3/comparison/connected-dot-plot.d.ts +10 -0
  450. package/dist/src/renderers/d3/comparison/connected-dot-plot.d.ts.map +1 -0
  451. package/dist/src/renderers/d3/comparison/connected-dot-plot.js +235 -0
  452. package/dist/src/renderers/d3/comparison/connected-dot-plot.js.map +1 -0
  453. package/dist/src/renderers/d3/comparison/diverging-bar.d.ts +7 -0
  454. package/dist/src/renderers/d3/comparison/diverging-bar.d.ts.map +1 -0
  455. package/dist/src/renderers/d3/comparison/diverging-bar.js +295 -0
  456. package/dist/src/renderers/d3/comparison/diverging-bar.js.map +1 -0
  457. package/dist/src/renderers/d3/comparison/grouped-bar.d.ts +7 -0
  458. package/dist/src/renderers/d3/comparison/grouped-bar.d.ts.map +1 -0
  459. package/dist/src/renderers/d3/comparison/grouped-bar.js +267 -0
  460. package/dist/src/renderers/d3/comparison/grouped-bar.js.map +1 -0
  461. package/dist/src/renderers/d3/comparison/index.d.ts +13 -0
  462. package/dist/src/renderers/d3/comparison/index.d.ts.map +1 -0
  463. package/dist/src/renderers/d3/comparison/index.js +13 -0
  464. package/dist/src/renderers/d3/comparison/index.js.map +1 -0
  465. package/dist/src/renderers/d3/comparison/lollipop.d.ts +6 -0
  466. package/dist/src/renderers/d3/comparison/lollipop.d.ts.map +1 -0
  467. package/dist/src/renderers/d3/comparison/lollipop.js +318 -0
  468. package/dist/src/renderers/d3/comparison/lollipop.js.map +1 -0
  469. package/dist/src/renderers/d3/comparison/slope-chart.d.ts +6 -0
  470. package/dist/src/renderers/d3/comparison/slope-chart.d.ts.map +1 -0
  471. package/dist/src/renderers/d3/comparison/slope-chart.js +272 -0
  472. package/dist/src/renderers/d3/comparison/slope-chart.js.map +1 -0
  473. package/dist/src/renderers/d3/comparison/waterfall.d.ts +6 -0
  474. package/dist/src/renderers/d3/comparison/waterfall.d.ts.map +1 -0
  475. package/dist/src/renderers/d3/comparison/waterfall.js +208 -0
  476. package/dist/src/renderers/d3/comparison/waterfall.js.map +1 -0
  477. package/dist/src/renderers/d3/comparison.d.ts +8 -0
  478. package/dist/src/renderers/d3/comparison.d.ts.map +1 -0
  479. package/dist/src/renderers/d3/comparison.js +284 -0
  480. package/dist/src/renderers/d3/comparison.js.map +1 -0
  481. package/dist/src/renderers/d3/composition/circle-pack.d.ts +9 -0
  482. package/dist/src/renderers/d3/composition/circle-pack.d.ts.map +1 -0
  483. package/dist/src/renderers/d3/composition/circle-pack.js +196 -0
  484. package/dist/src/renderers/d3/composition/circle-pack.js.map +1 -0
  485. package/dist/src/renderers/d3/composition/donut.d.ts +7 -0
  486. package/dist/src/renderers/d3/composition/donut.d.ts.map +1 -0
  487. package/dist/src/renderers/d3/composition/donut.js +178 -0
  488. package/dist/src/renderers/d3/composition/donut.js.map +1 -0
  489. package/dist/src/renderers/d3/composition/icicle.d.ts +10 -0
  490. package/dist/src/renderers/d3/composition/icicle.d.ts.map +1 -0
  491. package/dist/src/renderers/d3/composition/icicle.js +380 -0
  492. package/dist/src/renderers/d3/composition/icicle.js.map +1 -0
  493. package/dist/src/renderers/d3/composition/index.d.ts +13 -0
  494. package/dist/src/renderers/d3/composition/index.d.ts.map +1 -0
  495. package/dist/src/renderers/d3/composition/index.js +13 -0
  496. package/dist/src/renderers/d3/composition/index.js.map +1 -0
  497. package/dist/src/renderers/d3/composition/marimekko.d.ts +3 -0
  498. package/dist/src/renderers/d3/composition/marimekko.d.ts.map +1 -0
  499. package/dist/src/renderers/d3/composition/marimekko.js +229 -0
  500. package/dist/src/renderers/d3/composition/marimekko.js.map +1 -0
  501. package/dist/src/renderers/d3/composition/metric.d.ts +9 -0
  502. package/dist/src/renderers/d3/composition/metric.d.ts.map +1 -0
  503. package/dist/src/renderers/d3/composition/metric.js +224 -0
  504. package/dist/src/renderers/d3/composition/metric.js.map +1 -0
  505. package/dist/src/renderers/d3/composition/stacked-bar.d.ts +7 -0
  506. package/dist/src/renderers/d3/composition/stacked-bar.d.ts.map +1 -0
  507. package/dist/src/renderers/d3/composition/stacked-bar.js +251 -0
  508. package/dist/src/renderers/d3/composition/stacked-bar.js.map +1 -0
  509. package/dist/src/renderers/d3/composition/sunburst.d.ts +11 -0
  510. package/dist/src/renderers/d3/composition/sunburst.d.ts.map +1 -0
  511. package/dist/src/renderers/d3/composition/sunburst.js +315 -0
  512. package/dist/src/renderers/d3/composition/sunburst.js.map +1 -0
  513. package/dist/src/renderers/d3/composition/treemap.d.ts +9 -0
  514. package/dist/src/renderers/d3/composition/treemap.d.ts.map +1 -0
  515. package/dist/src/renderers/d3/composition/treemap.js +224 -0
  516. package/dist/src/renderers/d3/composition/treemap.js.map +1 -0
  517. package/dist/src/renderers/d3/composition/waffle.d.ts +8 -0
  518. package/dist/src/renderers/d3/composition/waffle.d.ts.map +1 -0
  519. package/dist/src/renderers/d3/composition/waffle.js +130 -0
  520. package/dist/src/renderers/d3/composition/waffle.js.map +1 -0
  521. package/dist/src/renderers/d3/composition.d.ts +8 -0
  522. package/dist/src/renderers/d3/composition.d.ts.map +1 -0
  523. package/dist/src/renderers/d3/composition.js +325 -0
  524. package/dist/src/renderers/d3/composition.js.map +1 -0
  525. package/dist/src/renderers/d3/connected-scatter.d.ts +10 -0
  526. package/dist/src/renderers/d3/connected-scatter.d.ts.map +1 -0
  527. package/dist/src/renderers/d3/connected-scatter.js +358 -0
  528. package/dist/src/renderers/d3/connected-scatter.js.map +1 -0
  529. package/dist/src/renderers/d3/distribution/beeswarm.d.ts +13 -0
  530. package/dist/src/renderers/d3/distribution/beeswarm.d.ts.map +1 -0
  531. package/dist/src/renderers/d3/distribution/beeswarm.js +346 -0
  532. package/dist/src/renderers/d3/distribution/beeswarm.js.map +1 -0
  533. package/dist/src/renderers/d3/distribution/box-plot.d.ts +9 -0
  534. package/dist/src/renderers/d3/distribution/box-plot.d.ts.map +1 -0
  535. package/dist/src/renderers/d3/distribution/box-plot.js +369 -0
  536. package/dist/src/renderers/d3/distribution/box-plot.js.map +1 -0
  537. package/dist/src/renderers/d3/distribution/density-plot.d.ts +10 -0
  538. package/dist/src/renderers/d3/distribution/density-plot.d.ts.map +1 -0
  539. package/dist/src/renderers/d3/distribution/density-plot.js +325 -0
  540. package/dist/src/renderers/d3/distribution/density-plot.js.map +1 -0
  541. package/dist/src/renderers/d3/distribution/histogram.d.ts +12 -0
  542. package/dist/src/renderers/d3/distribution/histogram.d.ts.map +1 -0
  543. package/dist/src/renderers/d3/distribution/histogram.js +359 -0
  544. package/dist/src/renderers/d3/distribution/histogram.js.map +1 -0
  545. package/dist/src/renderers/d3/distribution/index.d.ts +11 -0
  546. package/dist/src/renderers/d3/distribution/index.d.ts.map +1 -0
  547. package/dist/src/renderers/d3/distribution/index.js +11 -0
  548. package/dist/src/renderers/d3/distribution/index.js.map +1 -0
  549. package/dist/src/renderers/d3/distribution/ridgeline.d.ts +9 -0
  550. package/dist/src/renderers/d3/distribution/ridgeline.d.ts.map +1 -0
  551. package/dist/src/renderers/d3/distribution/ridgeline.js +230 -0
  552. package/dist/src/renderers/d3/distribution/ridgeline.js.map +1 -0
  553. package/dist/src/renderers/d3/distribution/strip-plot.d.ts +12 -0
  554. package/dist/src/renderers/d3/distribution/strip-plot.d.ts.map +1 -0
  555. package/dist/src/renderers/d3/distribution/strip-plot.js +284 -0
  556. package/dist/src/renderers/d3/distribution/strip-plot.js.map +1 -0
  557. package/dist/src/renderers/d3/distribution/violin.d.ts +10 -0
  558. package/dist/src/renderers/d3/distribution/violin.d.ts.map +1 -0
  559. package/dist/src/renderers/d3/distribution/violin.js +298 -0
  560. package/dist/src/renderers/d3/distribution/violin.js.map +1 -0
  561. package/dist/src/renderers/d3/distribution.d.ts +8 -0
  562. package/dist/src/renderers/d3/distribution.d.ts.map +1 -0
  563. package/dist/src/renderers/d3/distribution.js +364 -0
  564. package/dist/src/renderers/d3/distribution.js.map +1 -0
  565. package/dist/src/renderers/d3/flow/alluvial.d.ts +10 -0
  566. package/dist/src/renderers/d3/flow/alluvial.d.ts.map +1 -0
  567. package/dist/src/renderers/d3/flow/alluvial.js +352 -0
  568. package/dist/src/renderers/d3/flow/alluvial.js.map +1 -0
  569. package/dist/src/renderers/d3/flow/chord.d.ts +9 -0
  570. package/dist/src/renderers/d3/flow/chord.d.ts.map +1 -0
  571. package/dist/src/renderers/d3/flow/chord.js +235 -0
  572. package/dist/src/renderers/d3/flow/chord.js.map +1 -0
  573. package/dist/src/renderers/d3/flow/funnel.d.ts +10 -0
  574. package/dist/src/renderers/d3/flow/funnel.d.ts.map +1 -0
  575. package/dist/src/renderers/d3/flow/funnel.js +284 -0
  576. package/dist/src/renderers/d3/flow/funnel.js.map +1 -0
  577. package/dist/src/renderers/d3/flow/index.d.ts +9 -0
  578. package/dist/src/renderers/d3/flow/index.d.ts.map +1 -0
  579. package/dist/src/renderers/d3/flow/index.js +8 -0
  580. package/dist/src/renderers/d3/flow/index.js.map +1 -0
  581. package/dist/src/renderers/d3/flow/sankey-layout.d.ts +35 -0
  582. package/dist/src/renderers/d3/flow/sankey-layout.d.ts.map +1 -0
  583. package/dist/src/renderers/d3/flow/sankey-layout.js +148 -0
  584. package/dist/src/renderers/d3/flow/sankey-layout.js.map +1 -0
  585. package/dist/src/renderers/d3/flow/sankey.d.ts +6 -0
  586. package/dist/src/renderers/d3/flow/sankey.d.ts.map +1 -0
  587. package/dist/src/renderers/d3/flow/sankey.js +141 -0
  588. package/dist/src/renderers/d3/flow/sankey.js.map +1 -0
  589. package/dist/src/renderers/d3/flow.d.ts +10 -0
  590. package/dist/src/renderers/d3/flow.d.ts.map +1 -0
  591. package/dist/src/renderers/d3/flow.js +274 -0
  592. package/dist/src/renderers/d3/flow.js.map +1 -0
  593. package/dist/src/renderers/d3/geo/choropleth.d.ts +3 -0
  594. package/dist/src/renderers/d3/geo/choropleth.d.ts.map +1 -0
  595. package/dist/src/renderers/d3/geo/choropleth.js +176 -0
  596. package/dist/src/renderers/d3/geo/choropleth.js.map +1 -0
  597. package/dist/src/renderers/d3/geo/geo-registry.d.ts +18 -0
  598. package/dist/src/renderers/d3/geo/geo-registry.d.ts.map +1 -0
  599. package/dist/src/renderers/d3/geo/geo-registry.js +269 -0
  600. package/dist/src/renderers/d3/geo/geo-registry.js.map +1 -0
  601. package/dist/src/renderers/d3/geo/geo-scope.d.ts +31 -0
  602. package/dist/src/renderers/d3/geo/geo-scope.d.ts.map +1 -0
  603. package/dist/src/renderers/d3/geo/geo-scope.js +257 -0
  604. package/dist/src/renderers/d3/geo/geo-scope.js.map +1 -0
  605. package/dist/src/renderers/d3/geo/index.d.ts +7 -0
  606. package/dist/src/renderers/d3/geo/index.d.ts.map +1 -0
  607. package/dist/src/renderers/d3/geo/index.js +5 -0
  608. package/dist/src/renderers/d3/geo/index.js.map +1 -0
  609. package/dist/src/renderers/d3/geo/names/countries.d.ts +4 -0
  610. package/dist/src/renderers/d3/geo/names/countries.d.ts.map +1 -0
  611. package/dist/src/renderers/d3/geo/names/countries.js +225 -0
  612. package/dist/src/renderers/d3/geo/names/countries.js.map +1 -0
  613. package/dist/src/renderers/d3/geo/names/fuzzy.d.ts +8 -0
  614. package/dist/src/renderers/d3/geo/names/fuzzy.d.ts.map +1 -0
  615. package/dist/src/renderers/d3/geo/names/fuzzy.js +41 -0
  616. package/dist/src/renderers/d3/geo/names/fuzzy.js.map +1 -0
  617. package/dist/src/renderers/d3/geo/names/index.d.ts +6 -0
  618. package/dist/src/renderers/d3/geo/names/index.d.ts.map +1 -0
  619. package/dist/src/renderers/d3/geo/names/index.js +5 -0
  620. package/dist/src/renderers/d3/geo/names/index.js.map +1 -0
  621. package/dist/src/renderers/d3/geo/names/normalize.d.ts +2 -0
  622. package/dist/src/renderers/d3/geo/names/normalize.d.ts.map +1 -0
  623. package/dist/src/renderers/d3/geo/names/normalize.js +10 -0
  624. package/dist/src/renderers/d3/geo/names/normalize.js.map +1 -0
  625. package/dist/src/renderers/d3/geo/names/subdivisions.d.ts +3 -0
  626. package/dist/src/renderers/d3/geo/names/subdivisions.d.ts.map +1 -0
  627. package/dist/src/renderers/d3/geo/names/subdivisions.js +622 -0
  628. package/dist/src/renderers/d3/geo/names/subdivisions.js.map +1 -0
  629. package/dist/src/renderers/d3/geo/proportional-symbol.d.ts +13 -0
  630. package/dist/src/renderers/d3/geo/proportional-symbol.d.ts.map +1 -0
  631. package/dist/src/renderers/d3/geo/proportional-symbol.js +466 -0
  632. package/dist/src/renderers/d3/geo/proportional-symbol.js.map +1 -0
  633. package/dist/src/renderers/d3/geo/topojson-loader.d.ts +3 -0
  634. package/dist/src/renderers/d3/geo/topojson-loader.d.ts.map +1 -0
  635. package/dist/src/renderers/d3/geo/topojson-loader.js +13 -0
  636. package/dist/src/renderers/d3/geo/topojson-loader.js.map +1 -0
  637. package/dist/src/renderers/d3/heatmap.d.ts +9 -0
  638. package/dist/src/renderers/d3/heatmap.d.ts.map +1 -0
  639. package/dist/src/renderers/d3/heatmap.js +228 -0
  640. package/dist/src/renderers/d3/heatmap.js.map +1 -0
  641. package/dist/src/renderers/d3/index.d.ts +70 -0
  642. package/dist/src/renderers/d3/index.d.ts.map +1 -0
  643. package/dist/src/renderers/d3/index.js +163 -0
  644. package/dist/src/renderers/d3/index.js.map +1 -0
  645. package/dist/src/renderers/d3/parallel-coordinates.d.ts +12 -0
  646. package/dist/src/renderers/d3/parallel-coordinates.d.ts.map +1 -0
  647. package/dist/src/renderers/d3/parallel-coordinates.js +181 -0
  648. package/dist/src/renderers/d3/parallel-coordinates.js.map +1 -0
  649. package/dist/src/renderers/d3/radar.d.ts +11 -0
  650. package/dist/src/renderers/d3/radar.d.ts.map +1 -0
  651. package/dist/src/renderers/d3/radar.js +258 -0
  652. package/dist/src/renderers/d3/radar.js.map +1 -0
  653. package/dist/src/renderers/d3/relationship.d.ts +6 -0
  654. package/dist/src/renderers/d3/relationship.d.ts.map +1 -0
  655. package/dist/src/renderers/d3/relationship.js +232 -0
  656. package/dist/src/renderers/d3/relationship.js.map +1 -0
  657. package/dist/src/renderers/d3/shared.d.ts +152 -0
  658. package/dist/src/renderers/d3/shared.d.ts.map +1 -0
  659. package/dist/src/renderers/d3/shared.js +869 -0
  660. package/dist/src/renderers/d3/shared.js.map +1 -0
  661. package/dist/src/renderers/d3/time/area.d.ts +8 -0
  662. package/dist/src/renderers/d3/time/area.d.ts.map +1 -0
  663. package/dist/src/renderers/d3/time/area.js +415 -0
  664. package/dist/src/renderers/d3/time/area.js.map +1 -0
  665. package/dist/src/renderers/d3/time/calendar-heatmap.d.ts +11 -0
  666. package/dist/src/renderers/d3/time/calendar-heatmap.d.ts.map +1 -0
  667. package/dist/src/renderers/d3/time/calendar-heatmap.js +471 -0
  668. package/dist/src/renderers/d3/time/calendar-heatmap.js.map +1 -0
  669. package/dist/src/renderers/d3/time/horizon-chart.d.ts +3 -0
  670. package/dist/src/renderers/d3/time/horizon-chart.d.ts.map +1 -0
  671. package/dist/src/renderers/d3/time/horizon-chart.js +314 -0
  672. package/dist/src/renderers/d3/time/horizon-chart.js.map +1 -0
  673. package/dist/src/renderers/d3/time/index.d.ts +11 -0
  674. package/dist/src/renderers/d3/time/index.d.ts.map +1 -0
  675. package/dist/src/renderers/d3/time/index.js +11 -0
  676. package/dist/src/renderers/d3/time/index.js.map +1 -0
  677. package/dist/src/renderers/d3/time/line.d.ts +8 -0
  678. package/dist/src/renderers/d3/time/line.d.ts.map +1 -0
  679. package/dist/src/renderers/d3/time/line.js +313 -0
  680. package/dist/src/renderers/d3/time/line.js.map +1 -0
  681. package/dist/src/renderers/d3/time/small-multiples.d.ts +6 -0
  682. package/dist/src/renderers/d3/time/small-multiples.d.ts.map +1 -0
  683. package/dist/src/renderers/d3/time/small-multiples.js +159 -0
  684. package/dist/src/renderers/d3/time/small-multiples.js.map +1 -0
  685. package/dist/src/renderers/d3/time/sparkline-grid.d.ts +9 -0
  686. package/dist/src/renderers/d3/time/sparkline-grid.d.ts.map +1 -0
  687. package/dist/src/renderers/d3/time/sparkline-grid.js +190 -0
  688. package/dist/src/renderers/d3/time/sparkline-grid.js.map +1 -0
  689. package/dist/src/renderers/d3/time/stream-graph.d.ts +9 -0
  690. package/dist/src/renderers/d3/time/stream-graph.d.ts.map +1 -0
  691. package/dist/src/renderers/d3/time/stream-graph.js +301 -0
  692. package/dist/src/renderers/d3/time/stream-graph.js.map +1 -0
  693. package/dist/src/renderers/d3/time.d.ts +7 -0
  694. package/dist/src/renderers/d3/time.d.ts.map +1 -0
  695. package/dist/src/renderers/d3/time.js +298 -0
  696. package/dist/src/renderers/d3/time.js.map +1 -0
  697. package/dist/src/renderers/html/_generated/bundles.d.ts +44 -0
  698. package/dist/src/renderers/html/_generated/bundles.d.ts.map +1 -0
  699. package/dist/src/renderers/html/_generated/bundles.js +45 -0
  700. package/dist/src/renderers/html/_generated/bundles.js.map +1 -0
  701. package/dist/src/renderers/html/builders/alluvial.d.ts +3 -0
  702. package/dist/src/renderers/html/builders/alluvial.d.ts.map +1 -0
  703. package/dist/src/renderers/html/builders/alluvial.js +6 -0
  704. package/dist/src/renderers/html/builders/alluvial.js.map +1 -0
  705. package/dist/src/renderers/html/builders/area.d.ts +3 -0
  706. package/dist/src/renderers/html/builders/area.d.ts.map +1 -0
  707. package/dist/src/renderers/html/builders/area.js +6 -0
  708. package/dist/src/renderers/html/builders/area.js.map +1 -0
  709. package/dist/src/renderers/html/builders/bar.d.ts +3 -0
  710. package/dist/src/renderers/html/builders/bar.d.ts.map +1 -0
  711. package/dist/src/renderers/html/builders/bar.js +6 -0
  712. package/dist/src/renderers/html/builders/bar.js.map +1 -0
  713. package/dist/src/renderers/html/builders/beeswarm.d.ts +3 -0
  714. package/dist/src/renderers/html/builders/beeswarm.d.ts.map +1 -0
  715. package/dist/src/renderers/html/builders/beeswarm.js +6 -0
  716. package/dist/src/renderers/html/builders/beeswarm.js.map +1 -0
  717. package/dist/src/renderers/html/builders/box-plot.d.ts +3 -0
  718. package/dist/src/renderers/html/builders/box-plot.d.ts.map +1 -0
  719. package/dist/src/renderers/html/builders/box-plot.js +6 -0
  720. package/dist/src/renderers/html/builders/box-plot.js.map +1 -0
  721. package/dist/src/renderers/html/builders/bullet.d.ts +3 -0
  722. package/dist/src/renderers/html/builders/bullet.d.ts.map +1 -0
  723. package/dist/src/renderers/html/builders/bullet.js +6 -0
  724. package/dist/src/renderers/html/builders/bullet.js.map +1 -0
  725. package/dist/src/renderers/html/builders/bump-chart.d.ts +3 -0
  726. package/dist/src/renderers/html/builders/bump-chart.d.ts.map +1 -0
  727. package/dist/src/renderers/html/builders/bump-chart.js +6 -0
  728. package/dist/src/renderers/html/builders/bump-chart.js.map +1 -0
  729. package/dist/src/renderers/html/builders/calendar-heatmap.d.ts +3 -0
  730. package/dist/src/renderers/html/builders/calendar-heatmap.d.ts.map +1 -0
  731. package/dist/src/renderers/html/builders/calendar-heatmap.js +6 -0
  732. package/dist/src/renderers/html/builders/calendar-heatmap.js.map +1 -0
  733. package/dist/src/renderers/html/builders/chord.d.ts +3 -0
  734. package/dist/src/renderers/html/builders/chord.d.ts.map +1 -0
  735. package/dist/src/renderers/html/builders/chord.js +6 -0
  736. package/dist/src/renderers/html/builders/chord.js.map +1 -0
  737. package/dist/src/renderers/html/builders/choropleth.d.ts +3 -0
  738. package/dist/src/renderers/html/builders/choropleth.d.ts.map +1 -0
  739. package/dist/src/renderers/html/builders/choropleth.js +6 -0
  740. package/dist/src/renderers/html/builders/choropleth.js.map +1 -0
  741. package/dist/src/renderers/html/builders/circle-pack.d.ts +3 -0
  742. package/dist/src/renderers/html/builders/circle-pack.d.ts.map +1 -0
  743. package/dist/src/renderers/html/builders/circle-pack.js +6 -0
  744. package/dist/src/renderers/html/builders/circle-pack.js.map +1 -0
  745. package/dist/src/renderers/html/builders/compound.d.ts +18 -0
  746. package/dist/src/renderers/html/builders/compound.d.ts.map +1 -0
  747. package/dist/src/renderers/html/builders/compound.js +468 -0
  748. package/dist/src/renderers/html/builders/compound.js.map +1 -0
  749. package/dist/src/renderers/html/builders/connected-dot-plot.d.ts +3 -0
  750. package/dist/src/renderers/html/builders/connected-dot-plot.d.ts.map +1 -0
  751. package/dist/src/renderers/html/builders/connected-dot-plot.js +6 -0
  752. package/dist/src/renderers/html/builders/connected-dot-plot.js.map +1 -0
  753. package/dist/src/renderers/html/builders/connected-scatter.d.ts +3 -0
  754. package/dist/src/renderers/html/builders/connected-scatter.d.ts.map +1 -0
  755. package/dist/src/renderers/html/builders/connected-scatter.js +6 -0
  756. package/dist/src/renderers/html/builders/connected-scatter.js.map +1 -0
  757. package/dist/src/renderers/html/builders/dashboard.d.ts +26 -0
  758. package/dist/src/renderers/html/builders/dashboard.d.ts.map +1 -0
  759. package/dist/src/renderers/html/builders/dashboard.js +420 -0
  760. package/dist/src/renderers/html/builders/dashboard.js.map +1 -0
  761. package/dist/src/renderers/html/builders/density-plot.d.ts +3 -0
  762. package/dist/src/renderers/html/builders/density-plot.d.ts.map +1 -0
  763. package/dist/src/renderers/html/builders/density-plot.js +6 -0
  764. package/dist/src/renderers/html/builders/density-plot.js.map +1 -0
  765. package/dist/src/renderers/html/builders/diverging-bar.d.ts +3 -0
  766. package/dist/src/renderers/html/builders/diverging-bar.d.ts.map +1 -0
  767. package/dist/src/renderers/html/builders/diverging-bar.js +6 -0
  768. package/dist/src/renderers/html/builders/diverging-bar.js.map +1 -0
  769. package/dist/src/renderers/html/builders/donut.d.ts +3 -0
  770. package/dist/src/renderers/html/builders/donut.d.ts.map +1 -0
  771. package/dist/src/renderers/html/builders/donut.js +6 -0
  772. package/dist/src/renderers/html/builders/donut.js.map +1 -0
  773. package/dist/src/renderers/html/builders/funnel.d.ts +3 -0
  774. package/dist/src/renderers/html/builders/funnel.d.ts.map +1 -0
  775. package/dist/src/renderers/html/builders/funnel.js +6 -0
  776. package/dist/src/renderers/html/builders/funnel.js.map +1 -0
  777. package/dist/src/renderers/html/builders/grouped-bar.d.ts +3 -0
  778. package/dist/src/renderers/html/builders/grouped-bar.d.ts.map +1 -0
  779. package/dist/src/renderers/html/builders/grouped-bar.js +6 -0
  780. package/dist/src/renderers/html/builders/grouped-bar.js.map +1 -0
  781. package/dist/src/renderers/html/builders/heatmap.d.ts +3 -0
  782. package/dist/src/renderers/html/builders/heatmap.d.ts.map +1 -0
  783. package/dist/src/renderers/html/builders/heatmap.js +6 -0
  784. package/dist/src/renderers/html/builders/heatmap.js.map +1 -0
  785. package/dist/src/renderers/html/builders/histogram.d.ts +3 -0
  786. package/dist/src/renderers/html/builders/histogram.d.ts.map +1 -0
  787. package/dist/src/renderers/html/builders/histogram.js +6 -0
  788. package/dist/src/renderers/html/builders/histogram.js.map +1 -0
  789. package/dist/src/renderers/html/builders/horizon-chart.d.ts +3 -0
  790. package/dist/src/renderers/html/builders/horizon-chart.d.ts.map +1 -0
  791. package/dist/src/renderers/html/builders/horizon-chart.js +6 -0
  792. package/dist/src/renderers/html/builders/horizon-chart.js.map +1 -0
  793. package/dist/src/renderers/html/builders/icicle.d.ts +3 -0
  794. package/dist/src/renderers/html/builders/icicle.d.ts.map +1 -0
  795. package/dist/src/renderers/html/builders/icicle.js +6 -0
  796. package/dist/src/renderers/html/builders/icicle.js.map +1 -0
  797. package/dist/src/renderers/html/builders/line.d.ts +3 -0
  798. package/dist/src/renderers/html/builders/line.d.ts.map +1 -0
  799. package/dist/src/renderers/html/builders/line.js +6 -0
  800. package/dist/src/renderers/html/builders/line.js.map +1 -0
  801. package/dist/src/renderers/html/builders/lollipop.d.ts +3 -0
  802. package/dist/src/renderers/html/builders/lollipop.d.ts.map +1 -0
  803. package/dist/src/renderers/html/builders/lollipop.js +6 -0
  804. package/dist/src/renderers/html/builders/lollipop.js.map +1 -0
  805. package/dist/src/renderers/html/builders/marimekko.d.ts +3 -0
  806. package/dist/src/renderers/html/builders/marimekko.d.ts.map +1 -0
  807. package/dist/src/renderers/html/builders/marimekko.js +6 -0
  808. package/dist/src/renderers/html/builders/marimekko.js.map +1 -0
  809. package/dist/src/renderers/html/builders/metric.d.ts +3 -0
  810. package/dist/src/renderers/html/builders/metric.d.ts.map +1 -0
  811. package/dist/src/renderers/html/builders/metric.js +6 -0
  812. package/dist/src/renderers/html/builders/metric.js.map +1 -0
  813. package/dist/src/renderers/html/builders/parallel-coordinates.d.ts +3 -0
  814. package/dist/src/renderers/html/builders/parallel-coordinates.d.ts.map +1 -0
  815. package/dist/src/renderers/html/builders/parallel-coordinates.js +6 -0
  816. package/dist/src/renderers/html/builders/parallel-coordinates.js.map +1 -0
  817. package/dist/src/renderers/html/builders/proportional-symbol.d.ts +3 -0
  818. package/dist/src/renderers/html/builders/proportional-symbol.d.ts.map +1 -0
  819. package/dist/src/renderers/html/builders/proportional-symbol.js +6 -0
  820. package/dist/src/renderers/html/builders/proportional-symbol.js.map +1 -0
  821. package/dist/src/renderers/html/builders/radar.d.ts +3 -0
  822. package/dist/src/renderers/html/builders/radar.d.ts.map +1 -0
  823. package/dist/src/renderers/html/builders/radar.js +6 -0
  824. package/dist/src/renderers/html/builders/radar.js.map +1 -0
  825. package/dist/src/renderers/html/builders/ridgeline.d.ts +3 -0
  826. package/dist/src/renderers/html/builders/ridgeline.d.ts.map +1 -0
  827. package/dist/src/renderers/html/builders/ridgeline.js +6 -0
  828. package/dist/src/renderers/html/builders/ridgeline.js.map +1 -0
  829. package/dist/src/renderers/html/builders/sankey.d.ts +3 -0
  830. package/dist/src/renderers/html/builders/sankey.d.ts.map +1 -0
  831. package/dist/src/renderers/html/builders/sankey.js +6 -0
  832. package/dist/src/renderers/html/builders/sankey.js.map +1 -0
  833. package/dist/src/renderers/html/builders/scatter.d.ts +3 -0
  834. package/dist/src/renderers/html/builders/scatter.d.ts.map +1 -0
  835. package/dist/src/renderers/html/builders/scatter.js +6 -0
  836. package/dist/src/renderers/html/builders/scatter.js.map +1 -0
  837. package/dist/src/renderers/html/builders/slope-chart.d.ts +3 -0
  838. package/dist/src/renderers/html/builders/slope-chart.d.ts.map +1 -0
  839. package/dist/src/renderers/html/builders/slope-chart.js +6 -0
  840. package/dist/src/renderers/html/builders/slope-chart.js.map +1 -0
  841. package/dist/src/renderers/html/builders/small-multiples.d.ts +3 -0
  842. package/dist/src/renderers/html/builders/small-multiples.d.ts.map +1 -0
  843. package/dist/src/renderers/html/builders/small-multiples.js +6 -0
  844. package/dist/src/renderers/html/builders/small-multiples.js.map +1 -0
  845. package/dist/src/renderers/html/builders/sparkline-grid.d.ts +3 -0
  846. package/dist/src/renderers/html/builders/sparkline-grid.d.ts.map +1 -0
  847. package/dist/src/renderers/html/builders/sparkline-grid.js +6 -0
  848. package/dist/src/renderers/html/builders/sparkline-grid.js.map +1 -0
  849. package/dist/src/renderers/html/builders/stacked-bar.d.ts +3 -0
  850. package/dist/src/renderers/html/builders/stacked-bar.d.ts.map +1 -0
  851. package/dist/src/renderers/html/builders/stacked-bar.js +6 -0
  852. package/dist/src/renderers/html/builders/stacked-bar.js.map +1 -0
  853. package/dist/src/renderers/html/builders/stream-graph.d.ts +3 -0
  854. package/dist/src/renderers/html/builders/stream-graph.d.ts.map +1 -0
  855. package/dist/src/renderers/html/builders/stream-graph.js +6 -0
  856. package/dist/src/renderers/html/builders/stream-graph.js.map +1 -0
  857. package/dist/src/renderers/html/builders/strip-plot.d.ts +3 -0
  858. package/dist/src/renderers/html/builders/strip-plot.d.ts.map +1 -0
  859. package/dist/src/renderers/html/builders/strip-plot.js +6 -0
  860. package/dist/src/renderers/html/builders/strip-plot.js.map +1 -0
  861. package/dist/src/renderers/html/builders/sunburst.d.ts +3 -0
  862. package/dist/src/renderers/html/builders/sunburst.d.ts.map +1 -0
  863. package/dist/src/renderers/html/builders/sunburst.js +6 -0
  864. package/dist/src/renderers/html/builders/sunburst.js.map +1 -0
  865. package/dist/src/renderers/html/builders/treemap.d.ts +3 -0
  866. package/dist/src/renderers/html/builders/treemap.d.ts.map +1 -0
  867. package/dist/src/renderers/html/builders/treemap.js +6 -0
  868. package/dist/src/renderers/html/builders/treemap.js.map +1 -0
  869. package/dist/src/renderers/html/builders/violin.d.ts +3 -0
  870. package/dist/src/renderers/html/builders/violin.d.ts.map +1 -0
  871. package/dist/src/renderers/html/builders/violin.js +6 -0
  872. package/dist/src/renderers/html/builders/violin.js.map +1 -0
  873. package/dist/src/renderers/html/builders/waffle.d.ts +3 -0
  874. package/dist/src/renderers/html/builders/waffle.d.ts.map +1 -0
  875. package/dist/src/renderers/html/builders/waffle.js +6 -0
  876. package/dist/src/renderers/html/builders/waffle.js.map +1 -0
  877. package/dist/src/renderers/html/builders/waterfall.d.ts +3 -0
  878. package/dist/src/renderers/html/builders/waterfall.d.ts.map +1 -0
  879. package/dist/src/renderers/html/builders/waterfall.js +6 -0
  880. package/dist/src/renderers/html/builders/waterfall.js.map +1 -0
  881. package/dist/src/renderers/html/compound.d.ts +18 -0
  882. package/dist/src/renderers/html/compound.d.ts.map +1 -0
  883. package/dist/src/renderers/html/compound.js +150 -0
  884. package/dist/src/renderers/html/compound.js.map +1 -0
  885. package/dist/src/renderers/html/index.d.ts +82 -0
  886. package/dist/src/renderers/html/index.d.ts.map +1 -0
  887. package/dist/src/renderers/html/index.js +236 -0
  888. package/dist/src/renderers/html/index.js.map +1 -0
  889. package/dist/src/renderers/html/render/alluvial.render.d.ts +3 -0
  890. package/dist/src/renderers/html/render/alluvial.render.d.ts.map +1 -0
  891. package/dist/src/renderers/html/render/alluvial.render.js +3 -0
  892. package/dist/src/renderers/html/render/alluvial.render.js.map +1 -0
  893. package/dist/src/renderers/html/render/area.render.d.ts +3 -0
  894. package/dist/src/renderers/html/render/area.render.d.ts.map +1 -0
  895. package/dist/src/renderers/html/render/area.render.js +3 -0
  896. package/dist/src/renderers/html/render/area.render.js.map +1 -0
  897. package/dist/src/renderers/html/render/bar.render.d.ts +3 -0
  898. package/dist/src/renderers/html/render/bar.render.d.ts.map +1 -0
  899. package/dist/src/renderers/html/render/bar.render.js +3 -0
  900. package/dist/src/renderers/html/render/bar.render.js.map +1 -0
  901. package/dist/src/renderers/html/render/beeswarm.render.d.ts +3 -0
  902. package/dist/src/renderers/html/render/beeswarm.render.d.ts.map +1 -0
  903. package/dist/src/renderers/html/render/beeswarm.render.js +3 -0
  904. package/dist/src/renderers/html/render/beeswarm.render.js.map +1 -0
  905. package/dist/src/renderers/html/render/box-plot.render.d.ts +3 -0
  906. package/dist/src/renderers/html/render/box-plot.render.d.ts.map +1 -0
  907. package/dist/src/renderers/html/render/box-plot.render.js +3 -0
  908. package/dist/src/renderers/html/render/box-plot.render.js.map +1 -0
  909. package/dist/src/renderers/html/render/bullet.render.d.ts +3 -0
  910. package/dist/src/renderers/html/render/bullet.render.d.ts.map +1 -0
  911. package/dist/src/renderers/html/render/bullet.render.js +3 -0
  912. package/dist/src/renderers/html/render/bullet.render.js.map +1 -0
  913. package/dist/src/renderers/html/render/bump-chart.render.d.ts +3 -0
  914. package/dist/src/renderers/html/render/bump-chart.render.d.ts.map +1 -0
  915. package/dist/src/renderers/html/render/bump-chart.render.js +3 -0
  916. package/dist/src/renderers/html/render/bump-chart.render.js.map +1 -0
  917. package/dist/src/renderers/html/render/calendar-heatmap.render.d.ts +3 -0
  918. package/dist/src/renderers/html/render/calendar-heatmap.render.d.ts.map +1 -0
  919. package/dist/src/renderers/html/render/calendar-heatmap.render.js +3 -0
  920. package/dist/src/renderers/html/render/calendar-heatmap.render.js.map +1 -0
  921. package/dist/src/renderers/html/render/chord.render.d.ts +3 -0
  922. package/dist/src/renderers/html/render/chord.render.d.ts.map +1 -0
  923. package/dist/src/renderers/html/render/chord.render.js +3 -0
  924. package/dist/src/renderers/html/render/chord.render.js.map +1 -0
  925. package/dist/src/renderers/html/render/choropleth.render.d.ts +3 -0
  926. package/dist/src/renderers/html/render/choropleth.render.d.ts.map +1 -0
  927. package/dist/src/renderers/html/render/choropleth.render.js +5 -0
  928. package/dist/src/renderers/html/render/choropleth.render.js.map +1 -0
  929. package/dist/src/renderers/html/render/circle-pack.render.d.ts +3 -0
  930. package/dist/src/renderers/html/render/circle-pack.render.d.ts.map +1 -0
  931. package/dist/src/renderers/html/render/circle-pack.render.js +3 -0
  932. package/dist/src/renderers/html/render/circle-pack.render.js.map +1 -0
  933. package/dist/src/renderers/html/render/connected-dot-plot.render.d.ts +3 -0
  934. package/dist/src/renderers/html/render/connected-dot-plot.render.d.ts.map +1 -0
  935. package/dist/src/renderers/html/render/connected-dot-plot.render.js +3 -0
  936. package/dist/src/renderers/html/render/connected-dot-plot.render.js.map +1 -0
  937. package/dist/src/renderers/html/render/connected-scatter.render.d.ts +3 -0
  938. package/dist/src/renderers/html/render/connected-scatter.render.d.ts.map +1 -0
  939. package/dist/src/renderers/html/render/connected-scatter.render.js +3 -0
  940. package/dist/src/renderers/html/render/connected-scatter.render.js.map +1 -0
  941. package/dist/src/renderers/html/render/density-plot.render.d.ts +3 -0
  942. package/dist/src/renderers/html/render/density-plot.render.d.ts.map +1 -0
  943. package/dist/src/renderers/html/render/density-plot.render.js +3 -0
  944. package/dist/src/renderers/html/render/density-plot.render.js.map +1 -0
  945. package/dist/src/renderers/html/render/diverging-bar.render.d.ts +3 -0
  946. package/dist/src/renderers/html/render/diverging-bar.render.d.ts.map +1 -0
  947. package/dist/src/renderers/html/render/diverging-bar.render.js +3 -0
  948. package/dist/src/renderers/html/render/diverging-bar.render.js.map +1 -0
  949. package/dist/src/renderers/html/render/donut.render.d.ts +3 -0
  950. package/dist/src/renderers/html/render/donut.render.d.ts.map +1 -0
  951. package/dist/src/renderers/html/render/donut.render.js +3 -0
  952. package/dist/src/renderers/html/render/donut.render.js.map +1 -0
  953. package/dist/src/renderers/html/render/funnel.render.d.ts +3 -0
  954. package/dist/src/renderers/html/render/funnel.render.d.ts.map +1 -0
  955. package/dist/src/renderers/html/render/funnel.render.js +3 -0
  956. package/dist/src/renderers/html/render/funnel.render.js.map +1 -0
  957. package/dist/src/renderers/html/render/grouped-bar.render.d.ts +3 -0
  958. package/dist/src/renderers/html/render/grouped-bar.render.d.ts.map +1 -0
  959. package/dist/src/renderers/html/render/grouped-bar.render.js +3 -0
  960. package/dist/src/renderers/html/render/grouped-bar.render.js.map +1 -0
  961. package/dist/src/renderers/html/render/heatmap.render.d.ts +3 -0
  962. package/dist/src/renderers/html/render/heatmap.render.d.ts.map +1 -0
  963. package/dist/src/renderers/html/render/heatmap.render.js +3 -0
  964. package/dist/src/renderers/html/render/heatmap.render.js.map +1 -0
  965. package/dist/src/renderers/html/render/histogram.render.d.ts +3 -0
  966. package/dist/src/renderers/html/render/histogram.render.d.ts.map +1 -0
  967. package/dist/src/renderers/html/render/histogram.render.js +3 -0
  968. package/dist/src/renderers/html/render/histogram.render.js.map +1 -0
  969. package/dist/src/renderers/html/render/horizon-chart.render.d.ts +3 -0
  970. package/dist/src/renderers/html/render/horizon-chart.render.d.ts.map +1 -0
  971. package/dist/src/renderers/html/render/horizon-chart.render.js +3 -0
  972. package/dist/src/renderers/html/render/horizon-chart.render.js.map +1 -0
  973. package/dist/src/renderers/html/render/icicle.render.d.ts +3 -0
  974. package/dist/src/renderers/html/render/icicle.render.d.ts.map +1 -0
  975. package/dist/src/renderers/html/render/icicle.render.js +3 -0
  976. package/dist/src/renderers/html/render/icicle.render.js.map +1 -0
  977. package/dist/src/renderers/html/render/line.render.d.ts +3 -0
  978. package/dist/src/renderers/html/render/line.render.d.ts.map +1 -0
  979. package/dist/src/renderers/html/render/line.render.js +3 -0
  980. package/dist/src/renderers/html/render/line.render.js.map +1 -0
  981. package/dist/src/renderers/html/render/lollipop.render.d.ts +3 -0
  982. package/dist/src/renderers/html/render/lollipop.render.d.ts.map +1 -0
  983. package/dist/src/renderers/html/render/lollipop.render.js +3 -0
  984. package/dist/src/renderers/html/render/lollipop.render.js.map +1 -0
  985. package/dist/src/renderers/html/render/marimekko.render.d.ts +3 -0
  986. package/dist/src/renderers/html/render/marimekko.render.d.ts.map +1 -0
  987. package/dist/src/renderers/html/render/marimekko.render.js +3 -0
  988. package/dist/src/renderers/html/render/marimekko.render.js.map +1 -0
  989. package/dist/src/renderers/html/render/metric.render.d.ts +3 -0
  990. package/dist/src/renderers/html/render/metric.render.d.ts.map +1 -0
  991. package/dist/src/renderers/html/render/metric.render.js +3 -0
  992. package/dist/src/renderers/html/render/metric.render.js.map +1 -0
  993. package/dist/src/renderers/html/render/parallel-coordinates.render.d.ts +3 -0
  994. package/dist/src/renderers/html/render/parallel-coordinates.render.d.ts.map +1 -0
  995. package/dist/src/renderers/html/render/parallel-coordinates.render.js +3 -0
  996. package/dist/src/renderers/html/render/parallel-coordinates.render.js.map +1 -0
  997. package/dist/src/renderers/html/render/proportional-symbol.render.d.ts +3 -0
  998. package/dist/src/renderers/html/render/proportional-symbol.render.d.ts.map +1 -0
  999. package/dist/src/renderers/html/render/proportional-symbol.render.js +5 -0
  1000. package/dist/src/renderers/html/render/proportional-symbol.render.js.map +1 -0
  1001. package/dist/src/renderers/html/render/radar.render.d.ts +3 -0
  1002. package/dist/src/renderers/html/render/radar.render.d.ts.map +1 -0
  1003. package/dist/src/renderers/html/render/radar.render.js +3 -0
  1004. package/dist/src/renderers/html/render/radar.render.js.map +1 -0
  1005. package/dist/src/renderers/html/render/ridgeline.render.d.ts +3 -0
  1006. package/dist/src/renderers/html/render/ridgeline.render.d.ts.map +1 -0
  1007. package/dist/src/renderers/html/render/ridgeline.render.js +3 -0
  1008. package/dist/src/renderers/html/render/ridgeline.render.js.map +1 -0
  1009. package/dist/src/renderers/html/render/sankey.render.d.ts +3 -0
  1010. package/dist/src/renderers/html/render/sankey.render.d.ts.map +1 -0
  1011. package/dist/src/renderers/html/render/sankey.render.js +3 -0
  1012. package/dist/src/renderers/html/render/sankey.render.js.map +1 -0
  1013. package/dist/src/renderers/html/render/scatter.render.d.ts +3 -0
  1014. package/dist/src/renderers/html/render/scatter.render.d.ts.map +1 -0
  1015. package/dist/src/renderers/html/render/scatter.render.js +3 -0
  1016. package/dist/src/renderers/html/render/scatter.render.js.map +1 -0
  1017. package/dist/src/renderers/html/render/slope-chart.render.d.ts +3 -0
  1018. package/dist/src/renderers/html/render/slope-chart.render.d.ts.map +1 -0
  1019. package/dist/src/renderers/html/render/slope-chart.render.js +3 -0
  1020. package/dist/src/renderers/html/render/slope-chart.render.js.map +1 -0
  1021. package/dist/src/renderers/html/render/small-multiples.render.d.ts +3 -0
  1022. package/dist/src/renderers/html/render/small-multiples.render.d.ts.map +1 -0
  1023. package/dist/src/renderers/html/render/small-multiples.render.js +3 -0
  1024. package/dist/src/renderers/html/render/small-multiples.render.js.map +1 -0
  1025. package/dist/src/renderers/html/render/sparkline-grid.render.d.ts +3 -0
  1026. package/dist/src/renderers/html/render/sparkline-grid.render.d.ts.map +1 -0
  1027. package/dist/src/renderers/html/render/sparkline-grid.render.js +3 -0
  1028. package/dist/src/renderers/html/render/sparkline-grid.render.js.map +1 -0
  1029. package/dist/src/renderers/html/render/stacked-bar.render.d.ts +3 -0
  1030. package/dist/src/renderers/html/render/stacked-bar.render.d.ts.map +1 -0
  1031. package/dist/src/renderers/html/render/stacked-bar.render.js +3 -0
  1032. package/dist/src/renderers/html/render/stacked-bar.render.js.map +1 -0
  1033. package/dist/src/renderers/html/render/stream-graph.render.d.ts +3 -0
  1034. package/dist/src/renderers/html/render/stream-graph.render.d.ts.map +1 -0
  1035. package/dist/src/renderers/html/render/stream-graph.render.js +3 -0
  1036. package/dist/src/renderers/html/render/stream-graph.render.js.map +1 -0
  1037. package/dist/src/renderers/html/render/strip-plot.render.d.ts +3 -0
  1038. package/dist/src/renderers/html/render/strip-plot.render.d.ts.map +1 -0
  1039. package/dist/src/renderers/html/render/strip-plot.render.js +3 -0
  1040. package/dist/src/renderers/html/render/strip-plot.render.js.map +1 -0
  1041. package/dist/src/renderers/html/render/sunburst.render.d.ts +3 -0
  1042. package/dist/src/renderers/html/render/sunburst.render.d.ts.map +1 -0
  1043. package/dist/src/renderers/html/render/sunburst.render.js +3 -0
  1044. package/dist/src/renderers/html/render/sunburst.render.js.map +1 -0
  1045. package/dist/src/renderers/html/render/treemap.render.d.ts +3 -0
  1046. package/dist/src/renderers/html/render/treemap.render.d.ts.map +1 -0
  1047. package/dist/src/renderers/html/render/treemap.render.js +3 -0
  1048. package/dist/src/renderers/html/render/treemap.render.js.map +1 -0
  1049. package/dist/src/renderers/html/render/violin.render.d.ts +3 -0
  1050. package/dist/src/renderers/html/render/violin.render.d.ts.map +1 -0
  1051. package/dist/src/renderers/html/render/violin.render.js +3 -0
  1052. package/dist/src/renderers/html/render/violin.render.js.map +1 -0
  1053. package/dist/src/renderers/html/render/waffle.render.d.ts +3 -0
  1054. package/dist/src/renderers/html/render/waffle.render.d.ts.map +1 -0
  1055. package/dist/src/renderers/html/render/waffle.render.js +3 -0
  1056. package/dist/src/renderers/html/render/waffle.render.js.map +1 -0
  1057. package/dist/src/renderers/html/render/waterfall.render.d.ts +3 -0
  1058. package/dist/src/renderers/html/render/waterfall.render.d.ts.map +1 -0
  1059. package/dist/src/renderers/html/render/waterfall.render.js +3 -0
  1060. package/dist/src/renderers/html/render/waterfall.render.js.map +1 -0
  1061. package/dist/src/renderers/html/sizing.d.ts +12 -0
  1062. package/dist/src/renderers/html/sizing.d.ts.map +1 -0
  1063. package/dist/src/renderers/html/sizing.js +126 -0
  1064. package/dist/src/renderers/html/sizing.js.map +1 -0
  1065. package/dist/src/renderers/html/template.d.ts +30 -0
  1066. package/dist/src/renderers/html/template.d.ts.map +1 -0
  1067. package/dist/src/renderers/html/template.js +777 -0
  1068. package/dist/src/renderers/html/template.js.map +1 -0
  1069. package/dist/src/renderers/react/Alluvial.d.ts +7 -0
  1070. package/dist/src/renderers/react/Alluvial.d.ts.map +1 -0
  1071. package/dist/src/renderers/react/Alluvial.js +8 -0
  1072. package/dist/src/renderers/react/Alluvial.js.map +1 -0
  1073. package/dist/src/renderers/react/Area.d.ts +7 -0
  1074. package/dist/src/renderers/react/Area.d.ts.map +1 -0
  1075. package/dist/src/renderers/react/Area.js +8 -0
  1076. package/dist/src/renderers/react/Area.js.map +1 -0
  1077. package/dist/src/renderers/react/Bar.d.ts +7 -0
  1078. package/dist/src/renderers/react/Bar.d.ts.map +1 -0
  1079. package/dist/src/renderers/react/Bar.js +8 -0
  1080. package/dist/src/renderers/react/Bar.js.map +1 -0
  1081. package/dist/src/renderers/react/Beeswarm.d.ts +7 -0
  1082. package/dist/src/renderers/react/Beeswarm.d.ts.map +1 -0
  1083. package/dist/src/renderers/react/Beeswarm.js +8 -0
  1084. package/dist/src/renderers/react/Beeswarm.js.map +1 -0
  1085. package/dist/src/renderers/react/BoxPlot.d.ts +3 -0
  1086. package/dist/src/renderers/react/BoxPlot.d.ts.map +1 -0
  1087. package/dist/src/renderers/react/BoxPlot.js +8 -0
  1088. package/dist/src/renderers/react/BoxPlot.js.map +1 -0
  1089. package/dist/src/renderers/react/Bullet.d.ts +3 -0
  1090. package/dist/src/renderers/react/Bullet.d.ts.map +1 -0
  1091. package/dist/src/renderers/react/Bullet.js +8 -0
  1092. package/dist/src/renderers/react/Bullet.js.map +1 -0
  1093. package/dist/src/renderers/react/BumpChart.d.ts +9 -0
  1094. package/dist/src/renderers/react/BumpChart.d.ts.map +1 -0
  1095. package/dist/src/renderers/react/BumpChart.js +18 -0
  1096. package/dist/src/renderers/react/BumpChart.js.map +1 -0
  1097. package/dist/src/renderers/react/CalendarHeatmap.d.ts +7 -0
  1098. package/dist/src/renderers/react/CalendarHeatmap.d.ts.map +1 -0
  1099. package/dist/src/renderers/react/CalendarHeatmap.js +8 -0
  1100. package/dist/src/renderers/react/CalendarHeatmap.js.map +1 -0
  1101. package/dist/src/renderers/react/Chord.d.ts +7 -0
  1102. package/dist/src/renderers/react/Chord.d.ts.map +1 -0
  1103. package/dist/src/renderers/react/Chord.js +8 -0
  1104. package/dist/src/renderers/react/Chord.js.map +1 -0
  1105. package/dist/src/renderers/react/Choropleth.d.ts +7 -0
  1106. package/dist/src/renderers/react/Choropleth.d.ts.map +1 -0
  1107. package/dist/src/renderers/react/Choropleth.js +16 -0
  1108. package/dist/src/renderers/react/Choropleth.js.map +1 -0
  1109. package/dist/src/renderers/react/CirclePack.d.ts +7 -0
  1110. package/dist/src/renderers/react/CirclePack.d.ts.map +1 -0
  1111. package/dist/src/renderers/react/CirclePack.js +8 -0
  1112. package/dist/src/renderers/react/CirclePack.js.map +1 -0
  1113. package/dist/src/renderers/react/CompoundChart.d.ts +31 -0
  1114. package/dist/src/renderers/react/CompoundChart.d.ts.map +1 -0
  1115. package/dist/src/renderers/react/CompoundChart.js +80 -0
  1116. package/dist/src/renderers/react/CompoundChart.js.map +1 -0
  1117. package/dist/src/renderers/react/ConnectedDotPlot.d.ts +7 -0
  1118. package/dist/src/renderers/react/ConnectedDotPlot.d.ts.map +1 -0
  1119. package/dist/src/renderers/react/ConnectedDotPlot.js +8 -0
  1120. package/dist/src/renderers/react/ConnectedDotPlot.js.map +1 -0
  1121. package/dist/src/renderers/react/ConnectedScatter.d.ts +7 -0
  1122. package/dist/src/renderers/react/ConnectedScatter.d.ts.map +1 -0
  1123. package/dist/src/renderers/react/ConnectedScatter.js +8 -0
  1124. package/dist/src/renderers/react/ConnectedScatter.js.map +1 -0
  1125. package/dist/src/renderers/react/DataTable.d.ts +29 -0
  1126. package/dist/src/renderers/react/DataTable.d.ts.map +1 -0
  1127. package/dist/src/renderers/react/DataTable.js +128 -0
  1128. package/dist/src/renderers/react/DataTable.js.map +1 -0
  1129. package/dist/src/renderers/react/DensityPlot.d.ts +3 -0
  1130. package/dist/src/renderers/react/DensityPlot.d.ts.map +1 -0
  1131. package/dist/src/renderers/react/DensityPlot.js +8 -0
  1132. package/dist/src/renderers/react/DensityPlot.js.map +1 -0
  1133. package/dist/src/renderers/react/DivergingBar.d.ts +7 -0
  1134. package/dist/src/renderers/react/DivergingBar.d.ts.map +1 -0
  1135. package/dist/src/renderers/react/DivergingBar.js +8 -0
  1136. package/dist/src/renderers/react/DivergingBar.js.map +1 -0
  1137. package/dist/src/renderers/react/Donut.d.ts +7 -0
  1138. package/dist/src/renderers/react/Donut.d.ts.map +1 -0
  1139. package/dist/src/renderers/react/Donut.js +8 -0
  1140. package/dist/src/renderers/react/Donut.js.map +1 -0
  1141. package/dist/src/renderers/react/Funnel.d.ts +3 -0
  1142. package/dist/src/renderers/react/Funnel.d.ts.map +1 -0
  1143. package/dist/src/renderers/react/Funnel.js +8 -0
  1144. package/dist/src/renderers/react/Funnel.js.map +1 -0
  1145. package/dist/src/renderers/react/GroupedBar.d.ts +3 -0
  1146. package/dist/src/renderers/react/GroupedBar.d.ts.map +1 -0
  1147. package/dist/src/renderers/react/GroupedBar.js +8 -0
  1148. package/dist/src/renderers/react/GroupedBar.js.map +1 -0
  1149. package/dist/src/renderers/react/Heatmap.d.ts +3 -0
  1150. package/dist/src/renderers/react/Heatmap.d.ts.map +1 -0
  1151. package/dist/src/renderers/react/Heatmap.js +8 -0
  1152. package/dist/src/renderers/react/Heatmap.js.map +1 -0
  1153. package/dist/src/renderers/react/Histogram.d.ts +7 -0
  1154. package/dist/src/renderers/react/Histogram.d.ts.map +1 -0
  1155. package/dist/src/renderers/react/Histogram.js +8 -0
  1156. package/dist/src/renderers/react/Histogram.js.map +1 -0
  1157. package/dist/src/renderers/react/HorizonChart.d.ts +3 -0
  1158. package/dist/src/renderers/react/HorizonChart.d.ts.map +1 -0
  1159. package/dist/src/renderers/react/HorizonChart.js +8 -0
  1160. package/dist/src/renderers/react/HorizonChart.js.map +1 -0
  1161. package/dist/src/renderers/react/Icicle.d.ts +3 -0
  1162. package/dist/src/renderers/react/Icicle.d.ts.map +1 -0
  1163. package/dist/src/renderers/react/Icicle.js +8 -0
  1164. package/dist/src/renderers/react/Icicle.js.map +1 -0
  1165. package/dist/src/renderers/react/Line.d.ts +7 -0
  1166. package/dist/src/renderers/react/Line.d.ts.map +1 -0
  1167. package/dist/src/renderers/react/Line.js +8 -0
  1168. package/dist/src/renderers/react/Line.js.map +1 -0
  1169. package/dist/src/renderers/react/Lollipop.d.ts +3 -0
  1170. package/dist/src/renderers/react/Lollipop.d.ts.map +1 -0
  1171. package/dist/src/renderers/react/Lollipop.js +8 -0
  1172. package/dist/src/renderers/react/Lollipop.js.map +1 -0
  1173. package/dist/src/renderers/react/Marimekko.d.ts +7 -0
  1174. package/dist/src/renderers/react/Marimekko.d.ts.map +1 -0
  1175. package/dist/src/renderers/react/Marimekko.js +8 -0
  1176. package/dist/src/renderers/react/Marimekko.js.map +1 -0
  1177. package/dist/src/renderers/react/Metric.d.ts +7 -0
  1178. package/dist/src/renderers/react/Metric.d.ts.map +1 -0
  1179. package/dist/src/renderers/react/Metric.js +8 -0
  1180. package/dist/src/renderers/react/Metric.js.map +1 -0
  1181. package/dist/src/renderers/react/ParallelCoordinates.d.ts +7 -0
  1182. package/dist/src/renderers/react/ParallelCoordinates.d.ts.map +1 -0
  1183. package/dist/src/renderers/react/ParallelCoordinates.js +8 -0
  1184. package/dist/src/renderers/react/ParallelCoordinates.js.map +1 -0
  1185. package/dist/src/renderers/react/ProportionalSymbol.d.ts +7 -0
  1186. package/dist/src/renderers/react/ProportionalSymbol.d.ts.map +1 -0
  1187. package/dist/src/renderers/react/ProportionalSymbol.js +16 -0
  1188. package/dist/src/renderers/react/ProportionalSymbol.js.map +1 -0
  1189. package/dist/src/renderers/react/Radar.d.ts +7 -0
  1190. package/dist/src/renderers/react/Radar.d.ts.map +1 -0
  1191. package/dist/src/renderers/react/Radar.js +8 -0
  1192. package/dist/src/renderers/react/Radar.js.map +1 -0
  1193. package/dist/src/renderers/react/Ridgeline.d.ts +7 -0
  1194. package/dist/src/renderers/react/Ridgeline.d.ts.map +1 -0
  1195. package/dist/src/renderers/react/Ridgeline.js +8 -0
  1196. package/dist/src/renderers/react/Ridgeline.js.map +1 -0
  1197. package/dist/src/renderers/react/Sankey.d.ts +7 -0
  1198. package/dist/src/renderers/react/Sankey.d.ts.map +1 -0
  1199. package/dist/src/renderers/react/Sankey.js +8 -0
  1200. package/dist/src/renderers/react/Sankey.js.map +1 -0
  1201. package/dist/src/renderers/react/Scatter.d.ts +7 -0
  1202. package/dist/src/renderers/react/Scatter.d.ts.map +1 -0
  1203. package/dist/src/renderers/react/Scatter.js +8 -0
  1204. package/dist/src/renderers/react/Scatter.js.map +1 -0
  1205. package/dist/src/renderers/react/SlopeChart.d.ts +7 -0
  1206. package/dist/src/renderers/react/SlopeChart.d.ts.map +1 -0
  1207. package/dist/src/renderers/react/SlopeChart.js +8 -0
  1208. package/dist/src/renderers/react/SlopeChart.js.map +1 -0
  1209. package/dist/src/renderers/react/SmallMultiples.d.ts +7 -0
  1210. package/dist/src/renderers/react/SmallMultiples.d.ts.map +1 -0
  1211. package/dist/src/renderers/react/SmallMultiples.js +8 -0
  1212. package/dist/src/renderers/react/SmallMultiples.js.map +1 -0
  1213. package/dist/src/renderers/react/SparklineGrid.d.ts +7 -0
  1214. package/dist/src/renderers/react/SparklineGrid.d.ts.map +1 -0
  1215. package/dist/src/renderers/react/SparklineGrid.js +8 -0
  1216. package/dist/src/renderers/react/SparklineGrid.js.map +1 -0
  1217. package/dist/src/renderers/react/StackedBar.d.ts +7 -0
  1218. package/dist/src/renderers/react/StackedBar.d.ts.map +1 -0
  1219. package/dist/src/renderers/react/StackedBar.js +8 -0
  1220. package/dist/src/renderers/react/StackedBar.js.map +1 -0
  1221. package/dist/src/renderers/react/StreamGraph.d.ts +3 -0
  1222. package/dist/src/renderers/react/StreamGraph.d.ts.map +1 -0
  1223. package/dist/src/renderers/react/StreamGraph.js +8 -0
  1224. package/dist/src/renderers/react/StreamGraph.js.map +1 -0
  1225. package/dist/src/renderers/react/StripPlot.d.ts +7 -0
  1226. package/dist/src/renderers/react/StripPlot.d.ts.map +1 -0
  1227. package/dist/src/renderers/react/StripPlot.js +8 -0
  1228. package/dist/src/renderers/react/StripPlot.js.map +1 -0
  1229. package/dist/src/renderers/react/Sunburst.d.ts +7 -0
  1230. package/dist/src/renderers/react/Sunburst.d.ts.map +1 -0
  1231. package/dist/src/renderers/react/Sunburst.js +8 -0
  1232. package/dist/src/renderers/react/Sunburst.js.map +1 -0
  1233. package/dist/src/renderers/react/Treemap.d.ts +7 -0
  1234. package/dist/src/renderers/react/Treemap.d.ts.map +1 -0
  1235. package/dist/src/renderers/react/Treemap.js +8 -0
  1236. package/dist/src/renderers/react/Treemap.js.map +1 -0
  1237. package/dist/src/renderers/react/Violin.d.ts +7 -0
  1238. package/dist/src/renderers/react/Violin.d.ts.map +1 -0
  1239. package/dist/src/renderers/react/Violin.js +8 -0
  1240. package/dist/src/renderers/react/Violin.js.map +1 -0
  1241. package/dist/src/renderers/react/Waffle.d.ts +7 -0
  1242. package/dist/src/renderers/react/Waffle.d.ts.map +1 -0
  1243. package/dist/src/renderers/react/Waffle.js +8 -0
  1244. package/dist/src/renderers/react/Waffle.js.map +1 -0
  1245. package/dist/src/renderers/react/Waterfall.d.ts +3 -0
  1246. package/dist/src/renderers/react/Waterfall.d.ts.map +1 -0
  1247. package/dist/src/renderers/react/Waterfall.js +8 -0
  1248. package/dist/src/renderers/react/Waterfall.js.map +1 -0
  1249. package/dist/src/renderers/react/index.d.ts +60 -0
  1250. package/dist/src/renderers/react/index.d.ts.map +1 -0
  1251. package/dist/src/renderers/react/index.js +66 -0
  1252. package/dist/src/renderers/react/index.js.map +1 -0
  1253. package/dist/src/renderers/react/types.d.ts +17 -0
  1254. package/dist/src/renderers/react/types.d.ts.map +1 -0
  1255. package/dist/src/renderers/react/types.js +5 -0
  1256. package/dist/src/renderers/react/types.js.map +1 -0
  1257. package/dist/src/renderers/react/useChart.d.ts +21 -0
  1258. package/dist/src/renderers/react/useChart.d.ts.map +1 -0
  1259. package/dist/src/renderers/react/useChart.js +45 -0
  1260. package/dist/src/renderers/react/useChart.js.map +1 -0
  1261. package/dist/src/theme/colors.d.ts +128 -0
  1262. package/dist/src/theme/colors.d.ts.map +1 -0
  1263. package/dist/src/theme/colors.js +242 -0
  1264. package/dist/src/theme/colors.js.map +1 -0
  1265. package/dist/src/theme/index.d.ts +293 -0
  1266. package/dist/src/theme/index.d.ts.map +1 -0
  1267. package/dist/src/theme/index.js +83 -0
  1268. package/dist/src/theme/index.js.map +1 -0
  1269. package/dist/src/theme/spacing.d.ts +170 -0
  1270. package/dist/src/theme/spacing.d.ts.map +1 -0
  1271. package/dist/src/theme/spacing.js +143 -0
  1272. package/dist/src/theme/spacing.js.map +1 -0
  1273. package/dist/src/theme/typography.d.ts +137 -0
  1274. package/dist/src/theme/typography.d.ts.map +1 -0
  1275. package/dist/src/theme/typography.js +139 -0
  1276. package/dist/src/theme/typography.js.map +1 -0
  1277. package/dist/src/types.d.ts +473 -0
  1278. package/dist/src/types.d.ts.map +1 -0
  1279. package/dist/src/types.js +20 -0
  1280. package/dist/src/types.js.map +1 -0
  1281. package/dist/src/utils/export.d.ts +42 -0
  1282. package/dist/src/utils/export.d.ts.map +1 -0
  1283. package/dist/src/utils/export.js +124 -0
  1284. package/dist/src/utils/export.js.map +1 -0
  1285. package/dist/src/utils/index.d.ts +9 -0
  1286. package/dist/src/utils/index.d.ts.map +1 -0
  1287. package/dist/src/utils/index.js +7 -0
  1288. package/dist/src/utils/index.js.map +1 -0
  1289. package/dist/src/utils/labels.d.ts +81 -0
  1290. package/dist/src/utils/labels.d.ts.map +1 -0
  1291. package/dist/src/utils/labels.js +208 -0
  1292. package/dist/src/utils/labels.js.map +1 -0
  1293. package/dist/src/utils/responsive.d.ts +55 -0
  1294. package/dist/src/utils/responsive.d.ts.map +1 -0
  1295. package/dist/src/utils/responsive.js +91 -0
  1296. package/dist/src/utils/responsive.js.map +1 -0
  1297. package/package.json +115 -0
  1298. package/src/analysis/classify.ts +64 -0
  1299. package/src/analysis/index.ts +4 -0
  1300. package/src/analysis/planner.ts +60 -0
  1301. package/src/analysis/rules.ts +249 -0
  1302. package/src/analysis/types.ts +32 -0
  1303. package/src/connectors/csv.ts +407 -0
  1304. package/src/connectors/dsl-compiler.ts +367 -0
  1305. package/src/connectors/dsl-validator.ts +490 -0
  1306. package/src/connectors/index.ts +23 -0
  1307. package/src/connectors/js-aggregation.ts +399 -0
  1308. package/src/connectors/manager.ts +414 -0
  1309. package/src/connectors/mysql.ts +378 -0
  1310. package/src/connectors/postgres.ts +367 -0
  1311. package/src/connectors/sqlite.ts +364 -0
  1312. package/src/connectors/types.ts +59 -0
  1313. package/src/index.ts +130 -0
  1314. package/src/mcp/app-shell.ts +263 -0
  1315. package/src/mcp/index.ts +394 -0
  1316. package/src/mcp/prompts.ts +35 -0
  1317. package/src/mcp/spec-store.ts +141 -0
  1318. package/src/mcp/tools/analyze.ts +45 -0
  1319. package/src/mcp/tools/bug-report.ts +183 -0
  1320. package/src/mcp/tools/dashboard-refine.ts +456 -0
  1321. package/src/mcp/tools/dashboard.ts +62 -0
  1322. package/src/mcp/tools/dsl-schemas.ts +262 -0
  1323. package/src/mcp/tools/export-html.ts +46 -0
  1324. package/src/mcp/tools/list-patterns.ts +301 -0
  1325. package/src/mcp/tools/operation-log.ts +110 -0
  1326. package/src/mcp/tools/query-source.ts +69 -0
  1327. package/src/mcp/tools/refine.ts +385 -0
  1328. package/src/mcp/tools/result-cache.ts +61 -0
  1329. package/src/mcp/tools/screenshot.ts +99 -0
  1330. package/src/mcp/tools/server-privacy.ts +92 -0
  1331. package/src/mcp/tools/shared.ts +220 -0
  1332. package/src/mcp/tools/sources.ts +203 -0
  1333. package/src/mcp/tools/visualize-from-source.ts +77 -0
  1334. package/src/mcp/tools/visualize.ts +229 -0
  1335. package/src/patterns/definitions/comparison/bar.ts +110 -0
  1336. package/src/patterns/definitions/comparison/bullet.ts +136 -0
  1337. package/src/patterns/definitions/comparison/bump-chart.ts +143 -0
  1338. package/src/patterns/definitions/comparison/connected-dot-plot.ts +113 -0
  1339. package/src/patterns/definitions/comparison/diverging-bar.ts +110 -0
  1340. package/src/patterns/definitions/comparison/grouped-bar.ts +119 -0
  1341. package/src/patterns/definitions/comparison/index.ts +9 -0
  1342. package/src/patterns/definitions/comparison/lollipop.ts +138 -0
  1343. package/src/patterns/definitions/comparison/slope-chart.ts +110 -0
  1344. package/src/patterns/definitions/comparison/waterfall.ts +99 -0
  1345. package/src/patterns/definitions/composition/circle-pack.ts +117 -0
  1346. package/src/patterns/definitions/composition/donut.ts +115 -0
  1347. package/src/patterns/definitions/composition/icicle.ts +130 -0
  1348. package/src/patterns/definitions/composition/index.ts +9 -0
  1349. package/src/patterns/definitions/composition/marimekko.ts +140 -0
  1350. package/src/patterns/definitions/composition/metric.ts +126 -0
  1351. package/src/patterns/definitions/composition/stacked-bar.ts +118 -0
  1352. package/src/patterns/definitions/composition/sunburst.ts +114 -0
  1353. package/src/patterns/definitions/composition/treemap.ts +118 -0
  1354. package/src/patterns/definitions/composition/waffle.ts +127 -0
  1355. package/src/patterns/definitions/distribution/beeswarm.ts +115 -0
  1356. package/src/patterns/definitions/distribution/box-plot.ts +115 -0
  1357. package/src/patterns/definitions/distribution/density-plot.ts +126 -0
  1358. package/src/patterns/definitions/distribution/histogram.ts +125 -0
  1359. package/src/patterns/definitions/distribution/index.ts +9 -0
  1360. package/src/patterns/definitions/distribution/ridgeline.ts +120 -0
  1361. package/src/patterns/definitions/distribution/strip-plot.ts +106 -0
  1362. package/src/patterns/definitions/distribution/violin.ts +118 -0
  1363. package/src/patterns/definitions/flow/alluvial.ts +124 -0
  1364. package/src/patterns/definitions/flow/chord.ts +132 -0
  1365. package/src/patterns/definitions/flow/funnel.ts +75 -0
  1366. package/src/patterns/definitions/flow/index.ts +7 -0
  1367. package/src/patterns/definitions/flow/sankey.ts +140 -0
  1368. package/src/patterns/definitions/geo/choropleth.ts +82 -0
  1369. package/src/patterns/definitions/geo/index.ts +6 -0
  1370. package/src/patterns/definitions/geo/proportional-symbol.ts +94 -0
  1371. package/src/patterns/definitions/relationship/connected-scatter.ts +123 -0
  1372. package/src/patterns/definitions/relationship/heatmap.ts +168 -0
  1373. package/src/patterns/definitions/relationship/index.ts +8 -0
  1374. package/src/patterns/definitions/relationship/parallel-coordinates.ts +118 -0
  1375. package/src/patterns/definitions/relationship/radar.ts +143 -0
  1376. package/src/patterns/definitions/relationship/scatter.ts +138 -0
  1377. package/src/patterns/definitions/time/area.ts +111 -0
  1378. package/src/patterns/definitions/time/calendar-heatmap.ts +121 -0
  1379. package/src/patterns/definitions/time/horizon-chart.ts +105 -0
  1380. package/src/patterns/definitions/time/index.ts +8 -0
  1381. package/src/patterns/definitions/time/line.ts +120 -0
  1382. package/src/patterns/definitions/time/small-multiples.ts +113 -0
  1383. package/src/patterns/definitions/time/sparkline-grid.ts +139 -0
  1384. package/src/patterns/definitions/time/stream-graph.ts +136 -0
  1385. package/src/patterns/index.ts +87 -0
  1386. package/src/patterns/registry.ts +275 -0
  1387. package/src/patterns/selector.ts +548 -0
  1388. package/src/patterns/utils.ts +406 -0
  1389. package/src/renderers/d3/comparison/bar.ts +397 -0
  1390. package/src/renderers/d3/comparison/bullet.ts +252 -0
  1391. package/src/renderers/d3/comparison/bump-chart.ts +262 -0
  1392. package/src/renderers/d3/comparison/connected-dot-plot.ts +305 -0
  1393. package/src/renderers/d3/comparison/diverging-bar.ts +374 -0
  1394. package/src/renderers/d3/comparison/grouped-bar.ts +323 -0
  1395. package/src/renderers/d3/comparison/index.ts +13 -0
  1396. package/src/renderers/d3/comparison/lollipop.ts +422 -0
  1397. package/src/renderers/d3/comparison/slope-chart.ts +322 -0
  1398. package/src/renderers/d3/comparison/waterfall.ts +263 -0
  1399. package/src/renderers/d3/composition/circle-pack.ts +246 -0
  1400. package/src/renderers/d3/composition/donut.ts +226 -0
  1401. package/src/renderers/d3/composition/icicle.ts +456 -0
  1402. package/src/renderers/d3/composition/index.ts +13 -0
  1403. package/src/renderers/d3/composition/marimekko.ts +312 -0
  1404. package/src/renderers/d3/composition/metric.ts +238 -0
  1405. package/src/renderers/d3/composition/stacked-bar.ts +309 -0
  1406. package/src/renderers/d3/composition/sunburst.ts +403 -0
  1407. package/src/renderers/d3/composition/treemap.ts +274 -0
  1408. package/src/renderers/d3/composition/waffle.ts +170 -0
  1409. package/src/renderers/d3/connected-scatter.ts +429 -0
  1410. package/src/renderers/d3/distribution/beeswarm.ts +455 -0
  1411. package/src/renderers/d3/distribution/box-plot.ts +453 -0
  1412. package/src/renderers/d3/distribution/density-plot.ts +394 -0
  1413. package/src/renderers/d3/distribution/histogram.ts +461 -0
  1414. package/src/renderers/d3/distribution/index.ts +11 -0
  1415. package/src/renderers/d3/distribution/ridgeline.ts +298 -0
  1416. package/src/renderers/d3/distribution/strip-plot.ts +376 -0
  1417. package/src/renderers/d3/distribution/violin.ts +381 -0
  1418. package/src/renderers/d3/flow/alluvial.ts +464 -0
  1419. package/src/renderers/d3/flow/chord.ts +278 -0
  1420. package/src/renderers/d3/flow/funnel.ts +346 -0
  1421. package/src/renderers/d3/flow/index.ts +9 -0
  1422. package/src/renderers/d3/flow/sankey-layout.ts +202 -0
  1423. package/src/renderers/d3/flow/sankey.ts +189 -0
  1424. package/src/renderers/d3/geo/choropleth.ts +198 -0
  1425. package/src/renderers/d3/geo/geo-registry.ts +289 -0
  1426. package/src/renderers/d3/geo/geo-scope.ts +313 -0
  1427. package/src/renderers/d3/geo/index.ts +6 -0
  1428. package/src/renderers/d3/geo/names/countries.ts +245 -0
  1429. package/src/renderers/d3/geo/names/fuzzy.ts +56 -0
  1430. package/src/renderers/d3/geo/names/index.ts +5 -0
  1431. package/src/renderers/d3/geo/names/normalize.ts +9 -0
  1432. package/src/renderers/d3/geo/names/subdivisions.ts +642 -0
  1433. package/src/renderers/d3/geo/proportional-symbol.ts +511 -0
  1434. package/src/renderers/d3/geo/topojson-loader.ts +15 -0
  1435. package/src/renderers/d3/heatmap.ts +273 -0
  1436. package/src/renderers/d3/index.ts +230 -0
  1437. package/src/renderers/d3/parallel-coordinates.ts +227 -0
  1438. package/src/renderers/d3/radar.ts +313 -0
  1439. package/src/renderers/d3/relationship.ts +288 -0
  1440. package/src/renderers/d3/shared.ts +1029 -0
  1441. package/src/renderers/d3/time/area.ts +552 -0
  1442. package/src/renderers/d3/time/calendar-heatmap.ts +544 -0
  1443. package/src/renderers/d3/time/horizon-chart.ts +395 -0
  1444. package/src/renderers/d3/time/index.ts +11 -0
  1445. package/src/renderers/d3/time/line.ts +409 -0
  1446. package/src/renderers/d3/time/small-multiples.ts +190 -0
  1447. package/src/renderers/d3/time/sparkline-grid.ts +237 -0
  1448. package/src/renderers/d3/time/stream-graph.ts +401 -0
  1449. package/src/renderers/html/_generated/bundles.ts +45 -0
  1450. package/src/renderers/html/builders/alluvial.ts +7 -0
  1451. package/src/renderers/html/builders/area.ts +7 -0
  1452. package/src/renderers/html/builders/bar.ts +7 -0
  1453. package/src/renderers/html/builders/beeswarm.ts +7 -0
  1454. package/src/renderers/html/builders/box-plot.ts +7 -0
  1455. package/src/renderers/html/builders/bullet.ts +7 -0
  1456. package/src/renderers/html/builders/bump-chart.ts +7 -0
  1457. package/src/renderers/html/builders/calendar-heatmap.ts +7 -0
  1458. package/src/renderers/html/builders/chord.ts +7 -0
  1459. package/src/renderers/html/builders/choropleth.ts +7 -0
  1460. package/src/renderers/html/builders/circle-pack.ts +7 -0
  1461. package/src/renderers/html/builders/compound.ts +481 -0
  1462. package/src/renderers/html/builders/connected-dot-plot.ts +7 -0
  1463. package/src/renderers/html/builders/connected-scatter.ts +7 -0
  1464. package/src/renderers/html/builders/dashboard.ts +449 -0
  1465. package/src/renderers/html/builders/density-plot.ts +7 -0
  1466. package/src/renderers/html/builders/diverging-bar.ts +7 -0
  1467. package/src/renderers/html/builders/donut.ts +7 -0
  1468. package/src/renderers/html/builders/funnel.ts +7 -0
  1469. package/src/renderers/html/builders/grouped-bar.ts +7 -0
  1470. package/src/renderers/html/builders/heatmap.ts +7 -0
  1471. package/src/renderers/html/builders/histogram.ts +7 -0
  1472. package/src/renderers/html/builders/horizon-chart.ts +7 -0
  1473. package/src/renderers/html/builders/icicle.ts +7 -0
  1474. package/src/renderers/html/builders/line.ts +7 -0
  1475. package/src/renderers/html/builders/lollipop.ts +7 -0
  1476. package/src/renderers/html/builders/marimekko.ts +7 -0
  1477. package/src/renderers/html/builders/metric.ts +7 -0
  1478. package/src/renderers/html/builders/parallel-coordinates.ts +7 -0
  1479. package/src/renderers/html/builders/proportional-symbol.ts +7 -0
  1480. package/src/renderers/html/builders/radar.ts +7 -0
  1481. package/src/renderers/html/builders/ridgeline.ts +7 -0
  1482. package/src/renderers/html/builders/sankey.ts +7 -0
  1483. package/src/renderers/html/builders/scatter.ts +7 -0
  1484. package/src/renderers/html/builders/slope-chart.ts +7 -0
  1485. package/src/renderers/html/builders/small-multiples.ts +7 -0
  1486. package/src/renderers/html/builders/sparkline-grid.ts +7 -0
  1487. package/src/renderers/html/builders/stacked-bar.ts +7 -0
  1488. package/src/renderers/html/builders/stream-graph.ts +7 -0
  1489. package/src/renderers/html/builders/strip-plot.ts +7 -0
  1490. package/src/renderers/html/builders/sunburst.ts +7 -0
  1491. package/src/renderers/html/builders/treemap.ts +7 -0
  1492. package/src/renderers/html/builders/violin.ts +7 -0
  1493. package/src/renderers/html/builders/waffle.ts +7 -0
  1494. package/src/renderers/html/builders/waterfall.ts +7 -0
  1495. package/src/renderers/html/compound.ts +178 -0
  1496. package/src/renderers/html/index.ts +257 -0
  1497. package/src/renderers/html/render/alluvial.render.ts +2 -0
  1498. package/src/renderers/html/render/area.render.ts +2 -0
  1499. package/src/renderers/html/render/bar.render.ts +2 -0
  1500. package/src/renderers/html/render/beeswarm.render.ts +2 -0
  1501. package/src/renderers/html/render/box-plot.render.ts +2 -0
  1502. package/src/renderers/html/render/bullet.render.ts +2 -0
  1503. package/src/renderers/html/render/bump-chart.render.ts +2 -0
  1504. package/src/renderers/html/render/calendar-heatmap.render.ts +2 -0
  1505. package/src/renderers/html/render/chord.render.ts +2 -0
  1506. package/src/renderers/html/render/choropleth.render.ts +6 -0
  1507. package/src/renderers/html/render/circle-pack.render.ts +2 -0
  1508. package/src/renderers/html/render/connected-dot-plot.render.ts +2 -0
  1509. package/src/renderers/html/render/connected-scatter.render.ts +2 -0
  1510. package/src/renderers/html/render/density-plot.render.ts +2 -0
  1511. package/src/renderers/html/render/diverging-bar.render.ts +2 -0
  1512. package/src/renderers/html/render/donut.render.ts +2 -0
  1513. package/src/renderers/html/render/funnel.render.ts +2 -0
  1514. package/src/renderers/html/render/grouped-bar.render.ts +2 -0
  1515. package/src/renderers/html/render/heatmap.render.ts +2 -0
  1516. package/src/renderers/html/render/histogram.render.ts +2 -0
  1517. package/src/renderers/html/render/horizon-chart.render.ts +2 -0
  1518. package/src/renderers/html/render/icicle.render.ts +2 -0
  1519. package/src/renderers/html/render/line.render.ts +2 -0
  1520. package/src/renderers/html/render/lollipop.render.ts +2 -0
  1521. package/src/renderers/html/render/marimekko.render.ts +2 -0
  1522. package/src/renderers/html/render/metric.render.ts +2 -0
  1523. package/src/renderers/html/render/parallel-coordinates.render.ts +2 -0
  1524. package/src/renderers/html/render/proportional-symbol.render.ts +6 -0
  1525. package/src/renderers/html/render/radar.render.ts +2 -0
  1526. package/src/renderers/html/render/ridgeline.render.ts +2 -0
  1527. package/src/renderers/html/render/sankey.render.ts +2 -0
  1528. package/src/renderers/html/render/scatter.render.ts +2 -0
  1529. package/src/renderers/html/render/slope-chart.render.ts +2 -0
  1530. package/src/renderers/html/render/small-multiples.render.ts +2 -0
  1531. package/src/renderers/html/render/sparkline-grid.render.ts +2 -0
  1532. package/src/renderers/html/render/stacked-bar.render.ts +2 -0
  1533. package/src/renderers/html/render/stream-graph.render.ts +2 -0
  1534. package/src/renderers/html/render/strip-plot.render.ts +2 -0
  1535. package/src/renderers/html/render/sunburst.render.ts +2 -0
  1536. package/src/renderers/html/render/treemap.render.ts +2 -0
  1537. package/src/renderers/html/render/violin.render.ts +2 -0
  1538. package/src/renderers/html/render/waffle.render.ts +2 -0
  1539. package/src/renderers/html/render/waterfall.render.ts +2 -0
  1540. package/src/renderers/html/sizing.ts +150 -0
  1541. package/src/renderers/html/template.ts +789 -0
  1542. package/src/renderers/react/Alluvial.tsx +21 -0
  1543. package/src/renderers/react/Area.tsx +21 -0
  1544. package/src/renderers/react/Bar.tsx +21 -0
  1545. package/src/renderers/react/Beeswarm.tsx +21 -0
  1546. package/src/renderers/react/BoxPlot.tsx +16 -0
  1547. package/src/renderers/react/Bullet.tsx +15 -0
  1548. package/src/renderers/react/BumpChart.tsx +37 -0
  1549. package/src/renderers/react/CalendarHeatmap.tsx +21 -0
  1550. package/src/renderers/react/Chord.tsx +21 -0
  1551. package/src/renderers/react/Choropleth.tsx +35 -0
  1552. package/src/renderers/react/CirclePack.tsx +21 -0
  1553. package/src/renderers/react/CompoundChart.tsx +146 -0
  1554. package/src/renderers/react/ConnectedDotPlot.tsx +21 -0
  1555. package/src/renderers/react/ConnectedScatter.tsx +21 -0
  1556. package/src/renderers/react/DataTable.tsx +214 -0
  1557. package/src/renderers/react/DensityPlot.tsx +15 -0
  1558. package/src/renderers/react/DivergingBar.tsx +21 -0
  1559. package/src/renderers/react/Donut.tsx +21 -0
  1560. package/src/renderers/react/Funnel.tsx +15 -0
  1561. package/src/renderers/react/GroupedBar.tsx +15 -0
  1562. package/src/renderers/react/Heatmap.tsx +16 -0
  1563. package/src/renderers/react/Histogram.tsx +21 -0
  1564. package/src/renderers/react/HorizonChart.tsx +15 -0
  1565. package/src/renderers/react/Icicle.tsx +15 -0
  1566. package/src/renderers/react/Line.tsx +21 -0
  1567. package/src/renderers/react/Lollipop.tsx +15 -0
  1568. package/src/renderers/react/Marimekko.tsx +21 -0
  1569. package/src/renderers/react/Metric.tsx +21 -0
  1570. package/src/renderers/react/ParallelCoordinates.tsx +21 -0
  1571. package/src/renderers/react/ProportionalSymbol.tsx +35 -0
  1572. package/src/renderers/react/Radar.tsx +21 -0
  1573. package/src/renderers/react/Ridgeline.tsx +21 -0
  1574. package/src/renderers/react/Sankey.tsx +21 -0
  1575. package/src/renderers/react/Scatter.tsx +21 -0
  1576. package/src/renderers/react/SlopeChart.tsx +21 -0
  1577. package/src/renderers/react/SmallMultiples.tsx +21 -0
  1578. package/src/renderers/react/SparklineGrid.tsx +21 -0
  1579. package/src/renderers/react/StackedBar.tsx +21 -0
  1580. package/src/renderers/react/StreamGraph.tsx +15 -0
  1581. package/src/renderers/react/StripPlot.tsx +21 -0
  1582. package/src/renderers/react/Sunburst.tsx +21 -0
  1583. package/src/renderers/react/Treemap.tsx +21 -0
  1584. package/src/renderers/react/Violin.tsx +21 -0
  1585. package/src/renderers/react/Waffle.tsx +21 -0
  1586. package/src/renderers/react/Waterfall.tsx +15 -0
  1587. package/src/renderers/react/index.ts +86 -0
  1588. package/src/renderers/react/types.ts +18 -0
  1589. package/src/renderers/react/useChart.ts +58 -0
  1590. package/src/theme/colors.ts +286 -0
  1591. package/src/theme/index.ts +184 -0
  1592. package/src/theme/spacing.ts +176 -0
  1593. package/src/theme/typography.ts +170 -0
  1594. package/src/types.ts +601 -0
  1595. package/src/utils/export.ts +148 -0
  1596. package/src/utils/index.ts +37 -0
  1597. package/src/utils/labels.ts +266 -0
  1598. package/src/utils/responsive.ts +121 -0
@@ -0,0 +1,1029 @@
1
+ /**
2
+ * Shared D3 rendering utilities — axes, scales, colors, margins, tooltips.
3
+ */
4
+
5
+ import type { VisualizationSpec, AxisEncoding, ColorEncoding, ColorPaletteName } from '../../types.js';
6
+ import {
7
+ categorical,
8
+ sequential,
9
+ diverging,
10
+ colorSchemes,
11
+ DARK_BG,
12
+ AXIS_COLOR,
13
+ GRID_COLOR,
14
+ TEXT_COLOR,
15
+ TEXT_MUTED,
16
+ } from '../../theme/colors.js';
17
+
18
+ declare const d3: any;
19
+
20
+ // ─── CONSTANTS ───────────────────────────────────────────────────────────────
21
+
22
+ export const DEFAULT_MARGINS = { top: 40, right: 30, bottom: 50, left: 60 };
23
+
24
+ export { categorical as DEFAULT_PALETTE } from '../../theme/colors.js';
25
+ export { DARK_BG, AXIS_COLOR, GRID_COLOR, TEXT_COLOR, TEXT_MUTED };
26
+
27
+ // ─── SVG SETUP ───────────────────────────────────────────────────────────────
28
+
29
+ export interface ChartDimensions {
30
+ width: number;
31
+ height: number;
32
+ innerWidth: number;
33
+ innerHeight: number;
34
+ margin: { top: number; right: number; bottom: number; left: number };
35
+ }
36
+
37
+ /**
38
+ * Create an SVG element inside the container and return the root <g> group
39
+ * translated by the margin. Also returns computed dimensions.
40
+ */
41
+ export function createSvg(
42
+ container: HTMLElement,
43
+ spec: VisualizationSpec,
44
+ marginOverrides?: Partial<typeof DEFAULT_MARGINS>
45
+ ): { svg: any; g: any; dims: ChartDimensions } {
46
+ const margin = { ...DEFAULT_MARGINS, ...marginOverrides };
47
+ const width = container.clientWidth || 800;
48
+ const height = container.clientHeight || 500;
49
+ const innerWidth = width - margin.left - margin.right;
50
+ const innerHeight = height - margin.top - margin.bottom;
51
+
52
+ const svg = d3
53
+ .select(container)
54
+ .append('svg')
55
+ .attr('width', width)
56
+ .attr('height', height)
57
+ .style('background', DARK_BG)
58
+ .style('border-radius', '8px');
59
+
60
+ // Title (with auto-truncation to fit within SVG width)
61
+ if (spec.title) {
62
+ const titleEl = svg
63
+ .append('text')
64
+ .attr('x', width / 2)
65
+ .attr('y', 24)
66
+ .attr('text-anchor', 'middle')
67
+ .attr('fill', TEXT_COLOR)
68
+ .attr('font-size', '14px')
69
+ .attr('font-weight', '600')
70
+ .attr('font-family', 'Inter, system-ui, sans-serif')
71
+ .text(spec.title);
72
+
73
+ truncateTitle(titleEl, spec.title, width - 20);
74
+ }
75
+
76
+ const g = svg.append('g').attr('transform', `translate(${margin.left},${margin.top})`);
77
+
78
+ return { svg, g, dims: { width, height, innerWidth, innerHeight, margin } };
79
+ }
80
+
81
+ // ─── SCALES ──────────────────────────────────────────────────────────────────
82
+
83
+ export function buildXScale(
84
+ encoding: AxisEncoding | undefined,
85
+ data: Record<string, any>[],
86
+ innerWidth: number
87
+ ): any {
88
+ if (!encoding) return null;
89
+
90
+ const field = encoding.field;
91
+ switch (encoding.type) {
92
+ case 'nominal':
93
+ case 'ordinal': {
94
+ const domain = [...new Set(data.map((d) => d[field]))];
95
+ return d3.scaleBand().domain(domain).range([0, innerWidth]).padding(0.2);
96
+ }
97
+ case 'quantitative': {
98
+ const values = data.map((d) => Number(d[field]));
99
+ const extent = d3.extent(values) as [number, number];
100
+ const padding = (extent[1] - extent[0]) * 0.05 || 1;
101
+ return d3
102
+ .scaleLinear()
103
+ .domain([extent[0] - padding, extent[1] + padding])
104
+ .range([0, innerWidth])
105
+ .nice();
106
+ }
107
+ case 'temporal': {
108
+ const dates = data.map((d) => new Date(d[field]));
109
+ return d3
110
+ .scaleTime()
111
+ .domain(d3.extent(dates) as [Date, Date])
112
+ .range([0, innerWidth])
113
+ .nice();
114
+ }
115
+ default:
116
+ return d3.scaleLinear().range([0, innerWidth]);
117
+ }
118
+ }
119
+
120
+ export function buildYScale(
121
+ encoding: AxisEncoding | undefined,
122
+ data: Record<string, any>[],
123
+ innerHeight: number
124
+ ): any {
125
+ if (!encoding) return null;
126
+
127
+ const field = encoding.field;
128
+ switch (encoding.type) {
129
+ case 'nominal':
130
+ case 'ordinal': {
131
+ const domain = [...new Set(data.map((d) => d[field]))];
132
+ return d3.scaleBand().domain(domain).range([0, innerHeight]).padding(0.2);
133
+ }
134
+ case 'quantitative': {
135
+ const values = data.map((d) => Number(d[field]));
136
+ const max = d3.max(values) as number;
137
+ const min = Math.min(0, d3.min(values) as number);
138
+ return d3.scaleLinear().domain([min, max]).range([innerHeight, 0]).nice();
139
+ }
140
+ case 'temporal': {
141
+ const dates = data.map((d) => new Date(d[field]));
142
+ return d3
143
+ .scaleTime()
144
+ .domain(d3.extent(dates) as [Date, Date])
145
+ .range([innerHeight, 0])
146
+ .nice();
147
+ }
148
+ default:
149
+ return d3.scaleLinear().range([innerHeight, 0]);
150
+ }
151
+ }
152
+
153
+ const PALETTE_MAP: Record<string, readonly string[]> = {
154
+ categorical,
155
+ ...sequential,
156
+ ...diverging,
157
+ ...colorSchemes,
158
+ };
159
+
160
+ /**
161
+ * Resolve a named palette to an array of color strings.
162
+ */
163
+ function resolvePalette(name: ColorPaletteName): string[] | null {
164
+ const palette = PALETTE_MAP[name];
165
+ return palette ? [...palette] : null;
166
+ }
167
+
168
+ function isSequentialPalette(name?: ColorPaletteName): boolean {
169
+ return !!name && name in sequential;
170
+ }
171
+
172
+ function isDivergingPalette(name?: ColorPaletteName): boolean {
173
+ return !!name && name in diverging;
174
+ }
175
+
176
+ export function buildColorScale(
177
+ encoding: ColorEncoding | undefined,
178
+ data: Record<string, any>[],
179
+ valueField?: string
180
+ ): any {
181
+ if (!encoding || !encoding.field) {
182
+ return () => categorical[0];
183
+ }
184
+
185
+ const field = encoding.field;
186
+
187
+ // ── HIGHLIGHT MODE ──
188
+ // Specific values get color, all others are muted gray
189
+ // Only activate if at least one highlight value matches actual data
190
+ if (encoding.highlight && encoding.highlight.values.length > 0) {
191
+ const dataValues = new Set(data.map(d => d[field]));
192
+ const hasMatchingValues = encoding.highlight.values.some(v => dataValues.has(v));
193
+
194
+ if (hasMatchingValues) {
195
+ const highlightSet = new Set(encoding.highlight.values);
196
+ const highlightColors = Array.isArray(encoding.highlight.color)
197
+ ? encoding.highlight.color
198
+ : encoding.highlight.color
199
+ ? [encoding.highlight.color]
200
+ : [categorical[0]]; // Default to first categorical color
201
+ const mutedColor = encoding.highlight.mutedColor || '#6b7280';
202
+ const mutedOpacity = encoding.highlight.mutedOpacity ?? 1.0;
203
+
204
+ return (value: any) => {
205
+ if (highlightSet.has(value)) {
206
+ const highlightArray = Array.from(highlightSet);
207
+ const idx = highlightArray.indexOf(value);
208
+ return highlightColors[idx % highlightColors.length];
209
+ }
210
+ if (mutedOpacity < 1.0) {
211
+ const hex = mutedColor.replace('#', '');
212
+ const r = parseInt(hex.substring(0, 2), 16);
213
+ const g = parseInt(hex.substring(2, 4), 16);
214
+ const b = parseInt(hex.substring(4, 6), 16);
215
+ return `rgba(${r}, ${g}, ${b}, ${mutedOpacity})`;
216
+ }
217
+ return mutedColor;
218
+ };
219
+ }
220
+ // No matching values — fall through to palette/default logic
221
+ }
222
+
223
+ // ── PALETTE SELECTION ──
224
+ // Use a named palette from the theme
225
+ if (encoding.palette) {
226
+ const palette = resolvePalette(encoding.palette);
227
+ if (palette) {
228
+ // Diverging palette + quantitative → symmetric scale centered at zero
229
+ // Returns a scale that takes a numeric value directly (e.g. -5.2 → red, +3.1 → green)
230
+ if (isDivergingPalette(encoding.palette) && encoding.type === 'quantitative') {
231
+ const values = data.map((d: any) => Number(d[field]));
232
+ const maxAbs = Math.max(Math.abs(d3.min(values) as number), Math.abs(d3.max(values) as number)) || 1;
233
+ const mid = Math.floor(palette.length / 2);
234
+ return d3
235
+ .scaleLinear()
236
+ .domain([-maxAbs, 0, maxAbs])
237
+ .range([palette[0], palette[mid], palette[palette.length - 1]])
238
+ .interpolate(d3.interpolateRgb)
239
+ .clamp(true);
240
+ }
241
+
242
+ // Sequential/diverging palettes with category-to-value mapping
243
+ // (nominal field colored by a separate value field)
244
+ if ((isSequentialPalette(encoding.palette) || isDivergingPalette(encoding.palette)) && valueField) {
245
+ const valueExtent = d3.extent(data, (d: any) => Number(d[valueField])) as [number, number];
246
+ const colorScale = d3
247
+ .scaleLinear()
248
+ .domain([valueExtent[0], valueExtent[1]])
249
+ .range([palette[0], palette[palette.length - 1]])
250
+ .interpolate(d3.interpolateRgb);
251
+
252
+ // Return a function that maps category → color based on its value
253
+ const categoryToValue = new Map(data.map(d => [d[field], Number(d[valueField])]));
254
+ return (category: any) => {
255
+ const value = categoryToValue.get(category);
256
+ return value !== undefined ? colorScale(value) : palette[0];
257
+ };
258
+ }
259
+
260
+ // Quantitative color encoding (for scatter plots, etc.)
261
+ if (encoding.type === 'quantitative') {
262
+ const extent = d3.extent(data, (d: any) => Number(d[field])) as [number, number];
263
+ return d3
264
+ .scaleLinear()
265
+ .domain([extent[0], extent[1]])
266
+ .range([palette[0], palette[palette.length - 1]])
267
+ .interpolate(d3.interpolateRgb);
268
+ }
269
+
270
+ // Categorical/ordinal (for color schemes like traffic-light, profit-loss)
271
+ const domain = [...new Set(data.map((d) => d[field]))];
272
+ return d3.scaleOrdinal().domain(domain).range(palette);
273
+ }
274
+ }
275
+
276
+ // ── CUSTOM SCALE ──
277
+ if (encoding.scale?.domain && encoding.scale?.range) {
278
+ if (encoding.type === 'quantitative') {
279
+ return d3
280
+ .scaleLinear()
281
+ .domain(encoding.scale.domain)
282
+ .range(encoding.scale.range)
283
+ .interpolate(d3.interpolateRgb);
284
+ }
285
+ return d3.scaleOrdinal().domain(encoding.scale.domain).range(encoding.scale.range);
286
+ }
287
+
288
+ // ── DEFAULT ──
289
+ // Quantitative: use viridis interpolator
290
+ if (encoding.type === 'quantitative') {
291
+ const extent = d3.extent(data, (d: any) => Number(d[field])) as [number, number];
292
+ return d3.scaleSequential(d3.interpolateViridis).domain(extent);
293
+ }
294
+
295
+ // Categorical: use default categorical palette, extended for large domains
296
+ const domain = [...new Set(data.map((d) => d[field]))];
297
+ let palette = [...categorical];
298
+ if (domain.length > palette.length) {
299
+ const extra = d3.quantize(d3.interpolateRainbow, domain.length - palette.length + 1);
300
+ palette = palette.concat(extra);
301
+ }
302
+ return d3.scaleOrdinal().domain(domain).range(palette);
303
+ }
304
+
305
+ // ─── CONTRAST TEXT COLOR ─────────────────────────────────────────────────────
306
+
307
+ /**
308
+ * Return a readable text color (white or near-black) for a given background.
309
+ * Uses WCAG relative luminance to pick the higher-contrast option.
310
+ * Works with hex (#rgb, #rrggbb), rgb(), and rgba() strings.
311
+ */
312
+ export function contrastText(bgColor: string): string {
313
+ const rgb = parseColor(bgColor);
314
+ if (!rgb) return '#ffffff';
315
+ const luminance = relativeLuminance(rgb[0], rgb[1], rgb[2]);
316
+ // Threshold 0.18 gives white text on medium-dark and darker backgrounds,
317
+ // dark text on medium-light and lighter backgrounds.
318
+ return luminance > 0.18 ? '#1a1a2e' : '#ffffff';
319
+ }
320
+
321
+ /**
322
+ * Return a muted/secondary text color appropriate for the given background.
323
+ * Similar to contrastText but at reduced emphasis.
324
+ */
325
+ export function contrastTextMuted(bgColor: string): string {
326
+ const rgb = parseColor(bgColor);
327
+ if (!rgb) return 'rgba(255,255,255,0.7)';
328
+ const luminance = relativeLuminance(rgb[0], rgb[1], rgb[2]);
329
+ return luminance > 0.18 ? 'rgba(26,26,46,0.6)' : 'rgba(255,255,255,0.7)';
330
+ }
331
+
332
+ function parseColor(color: string): [number, number, number] | null {
333
+ // Hex: #rgb or #rrggbb
334
+ const hexMatch = color.match(/^#([0-9a-f]{3,8})$/i);
335
+ if (hexMatch) {
336
+ let hex = hexMatch[1];
337
+ if (hex.length === 3) hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
338
+ return [
339
+ parseInt(hex.substring(0, 2), 16),
340
+ parseInt(hex.substring(2, 4), 16),
341
+ parseInt(hex.substring(4, 6), 16),
342
+ ];
343
+ }
344
+ // rgb(r, g, b) or rgba(r, g, b, a)
345
+ const rgbMatch = color.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/);
346
+ if (rgbMatch) {
347
+ return [Number(rgbMatch[1]), Number(rgbMatch[2]), Number(rgbMatch[3])];
348
+ }
349
+ return null;
350
+ }
351
+
352
+ function relativeLuminance(r: number, g: number, b: number): number {
353
+ const [rs, gs, bs] = [r / 255, g / 255, b / 255].map((c) =>
354
+ c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4)
355
+ );
356
+ return 0.2126 * rs + 0.7152 * gs + 0.0722 * bs;
357
+ }
358
+
359
+ // ─── ADAPTIVE LAYOUT HELPERS ─────────────────────────────────────────────────
360
+ // See docs/standards/shared-utilities.md
361
+
362
+ /**
363
+ * Calculate adaptive tick count based on available pixel space.
364
+ * Prevents crowded ticks on small charts and sparse ticks on large ones.
365
+ */
366
+ export function getAdaptiveTickCount(availableSpace: number, minSpacing = 60): number {
367
+ return Math.max(3, Math.floor(availableSpace / minSpacing));
368
+ }
369
+
370
+ /**
371
+ * Calculate required left margin for horizontal bar charts
372
+ * based on the longest category label.
373
+ */
374
+ export function calculateLeftMargin(labels: string[], fontSize = 11): number {
375
+ const charWidthLatin = fontSize * 0.55;
376
+ const charWidthCJK = fontSize * 1.0;
377
+ const maxWidth = Math.max(...labels.map((l) => {
378
+ const s = String(l);
379
+ let w = 0;
380
+ for (let i = 0; i < s.length; i++) {
381
+ const code = s.charCodeAt(i);
382
+ w += (code > 0x2E80 && code < 0x9FFF) || (code > 0xFF00 && code < 0xFFEF)
383
+ ? charWidthCJK : charWidthLatin;
384
+ }
385
+ return w;
386
+ }));
387
+ return Math.max(80, Math.min(220, maxWidth + 20));
388
+ }
389
+
390
+ /**
391
+ * Check if axis labels need rotation based on available width per bar.
392
+ * Returns true when average label width exceeds 80% of bar width.
393
+ */
394
+ export function shouldRotateLabels(
395
+ labels: string[],
396
+ barWidth: number,
397
+ fontSize = 11
398
+ ): boolean {
399
+ const avgLabelLength = labels.reduce((sum, l) => sum + String(l).length, 0) / labels.length;
400
+ const estimatedLabelWidth = avgLabelLength * (fontSize * 0.6);
401
+ return estimatedLabelWidth > barWidth * 0.8;
402
+ }
403
+
404
+ /**
405
+ * Calculate required bottom margin for vertical bar charts.
406
+ * When labels are rotated, they need more vertical space.
407
+ */
408
+ export function calculateBottomMargin(
409
+ labels: string[],
410
+ willRotate: boolean,
411
+ fontSize = 11
412
+ ): number {
413
+ if (!willRotate) return 60;
414
+ const maxLength = Math.max(...labels.map((l) => String(l).length));
415
+ const charWidth = fontSize * 0.6;
416
+ // At 45° rotation, vertical space ≈ labelWidth × sin(45°) ≈ labelWidth × 0.7
417
+ const estimatedHeight = maxLength * charWidth * 0.7;
418
+ return Math.max(70, Math.min(150, estimatedHeight + 35));
419
+ }
420
+
421
+ /**
422
+ * Truncate label if it exceeds max length, preserving full text for tooltips.
423
+ * Uses Unicode ellipsis character.
424
+ */
425
+ export function truncateLabel(label: string, maxLength = 25): string {
426
+ const str = String(label);
427
+ if (str.length <= maxLength) return str;
428
+ return str.slice(0, maxLength - 1) + '\u2026';
429
+ }
430
+
431
+ /**
432
+ * Truncate an SVG <text> element in-place if it exceeds maxWidth pixels.
433
+ * Uses getComputedTextLength() for accurate measurement.
434
+ * Adds an SVG <title> tooltip with the full text when truncated.
435
+ */
436
+ export function truncateTitle(textEl: any, fullText: string, maxWidth: number): void {
437
+ const node = textEl.node();
438
+ if (!node || !node.getComputedTextLength) return;
439
+ if (node.getComputedTextLength() <= maxWidth) return;
440
+
441
+ let lo = 0;
442
+ let hi = fullText.length;
443
+ while (lo < hi) {
444
+ const mid = (lo + hi + 1) >> 1;
445
+ node.textContent = fullText.slice(0, mid) + '\u2026';
446
+ if (node.getComputedTextLength() <= maxWidth) {
447
+ lo = mid;
448
+ } else {
449
+ hi = mid - 1;
450
+ }
451
+ }
452
+ node.textContent = lo > 0 ? fullText.slice(0, lo) + '\u2026' : '\u2026';
453
+ textEl.append('title').text(fullText);
454
+ }
455
+
456
+ /**
457
+ * Render an "All values are zero" empty state centered in the chart area.
458
+ * Returns true if empty state was rendered (caller should return early).
459
+ */
460
+ export function renderEmptyState(
461
+ g: any,
462
+ dims: ChartDimensions,
463
+ message = 'All values are zero'
464
+ ): void {
465
+ g.append('text')
466
+ .attr('x', dims.innerWidth / 2)
467
+ .attr('y', dims.innerHeight / 2)
468
+ .attr('text-anchor', 'middle')
469
+ .attr('dominant-baseline', 'middle')
470
+ .attr('fill', TEXT_MUTED)
471
+ .attr('font-size', '14px')
472
+ .attr('font-family', 'Inter, system-ui, sans-serif')
473
+ .text(message);
474
+ }
475
+
476
+ /**
477
+ * Check if all numeric values for a given field are zero.
478
+ */
479
+ export function isAllZeros(data: Record<string, any>[], field: string): boolean {
480
+ return data.every(d => Number(d[field]) === 0);
481
+ }
482
+
483
+ /**
484
+ * Determine if value labels should be shown based on bar dimensions.
485
+ * Explicit `config.showLabels` takes precedence; otherwise auto-enable
486
+ * when bars are large enough to fit text.
487
+ *
488
+ * For horizontal bars: check bandwidth (height) >= 20px
489
+ * For vertical bars: check bandwidth (width) >= 35px
490
+ */
491
+ export function shouldShowValueLabels(
492
+ config: VisualizationSpec['config'],
493
+ barDimension: number,
494
+ isHorizontal: boolean
495
+ ): boolean {
496
+ if (config.showLabels !== undefined) return config.showLabels;
497
+ return isHorizontal ? barDimension >= 20 : barDimension >= 35;
498
+ }
499
+
500
+ // ─── AXES ────────────────────────────────────────────────────────────────────
501
+
502
+ export function drawXAxis(
503
+ g: any,
504
+ xScale: any,
505
+ innerHeight: number,
506
+ _label?: string,
507
+ isOrdinal = false
508
+ ): void {
509
+ const axis = g
510
+ .append('g')
511
+ .attr('class', 'x-axis')
512
+ .attr('transform', `translate(0,${innerHeight})`)
513
+ .call(
514
+ d3
515
+ .axisBottom(xScale)
516
+ .ticks(isOrdinal ? null : 6)
517
+ .tickSize(-innerHeight)
518
+ .tickPadding(8)
519
+ );
520
+
521
+ styleAxis(axis);
522
+ }
523
+
524
+ export function drawYAxis(g: any, yScale: any, innerWidth: number, _label?: string): void {
525
+ const axis = g
526
+ .append('g')
527
+ .attr('class', 'y-axis')
528
+ .call(d3.axisLeft(yScale).ticks(6).tickSize(-innerWidth).tickPadding(8));
529
+
530
+ styleAxis(axis);
531
+ }
532
+
533
+ /**
534
+ * Apply consistent axis styling: grid lines, domain stroke, tick text.
535
+ * Also applies smart formatting to fix tiny-decimal "0.00" labels and
536
+ * deduplicates tick labels when the domain is narrow.
537
+ * All renderers should use this instead of styling axes manually.
538
+ */
539
+ export function styleAxis(axis: any): void {
540
+ axis.selectAll('.domain').attr('stroke', AXIS_COLOR).attr('stroke-width', 0.5);
541
+ axis
542
+ .selectAll('.tick line')
543
+ .attr('stroke', GRID_COLOR)
544
+ .attr('stroke-width', 0.5)
545
+ .attr('stroke-dasharray', '2,2');
546
+ axis
547
+ .selectAll('.tick text')
548
+ .attr('fill', TEXT_MUTED)
549
+ .attr('font-size', '11px')
550
+ .attr('font-family', 'Inter, system-ui, sans-serif');
551
+
552
+ fixTickLabels(axis);
553
+ }
554
+
555
+ /**
556
+ * Smart-format axis tick labels: detects tiny-decimal "0.00" repetition
557
+ * and reformats with sufficient precision, then deduplicates identical labels.
558
+ */
559
+ function fixTickLabels(axis: any): void {
560
+ const ticks = axis.selectAll('.tick text');
561
+ const nodes: any[] = [];
562
+ ticks.each(function (this: any) { nodes.push(this); });
563
+ if (nodes.length < 2) return;
564
+
565
+ const texts = nodes.map((n: any) => n.textContent || '');
566
+ const uniqueTexts = new Set(texts);
567
+
568
+ if (uniqueTexts.size < Math.min(nodes.length, 3)) {
569
+ const values: number[] = [];
570
+ ticks.each(function (this: any, d: any) { values.push(Number(d)); });
571
+ const validValues = values.filter(v => !isNaN(v));
572
+ if (validValues.length < 2) return;
573
+
574
+ const min = Math.min(...validValues);
575
+ const max = Math.max(...validValues);
576
+ const span = max - min;
577
+
578
+ if (span > 0) {
579
+ const precision = span >= 1 ? 1 : Math.max(2, Math.ceil(-Math.log10(span)) + 2);
580
+ const fmt = (v: number) => {
581
+ if (Math.abs(v) >= 1e6) return (v / 1e6).toFixed(1) + 'M';
582
+ if (Math.abs(v) >= 1e3) return (v / 1e3).toFixed(1) + 'K';
583
+ if (Number.isInteger(v) && Math.abs(v) < 1e3) return v.toFixed(0);
584
+ return v.toFixed(precision);
585
+ };
586
+ ticks.each(function (this: any, d: any) {
587
+ const v = Number(d);
588
+ if (!isNaN(v)) this.textContent = fmt(v);
589
+ });
590
+ }
591
+
592
+ const reformattedTexts = nodes.map((n: any) => n.textContent || '');
593
+ const seen = new Set<string>();
594
+ reformattedTexts.forEach((t: string, i: number) => {
595
+ if (seen.has(t)) {
596
+ nodes[i].style.display = 'none';
597
+ const line = nodes[i].parentNode?.querySelector('line');
598
+ if (line) line.style.display = 'none';
599
+ } else {
600
+ seen.add(t);
601
+ }
602
+ });
603
+ }
604
+ }
605
+
606
+ // ─── TOOLTIP ─────────────────────────────────────────────────────────────────
607
+
608
+ let tooltipEl: HTMLDivElement | null = null;
609
+ let tooltipContainer: HTMLElement | null = null;
610
+
611
+ export function createTooltip(container: HTMLElement): HTMLDivElement {
612
+ tooltipContainer = container;
613
+ if (tooltipEl && document.body.contains(tooltipEl)) {
614
+ return tooltipEl;
615
+ }
616
+
617
+ tooltipEl = document.createElement('div');
618
+ tooltipEl.style.cssText = `
619
+ position: fixed;
620
+ pointer-events: none;
621
+ background: #1e2028;
622
+ color: ${TEXT_COLOR};
623
+ padding: 8px 12px;
624
+ border-radius: 6px;
625
+ font-size: 12px;
626
+ font-family: Inter, system-ui, sans-serif;
627
+ box-shadow: 0 4px 12px rgba(0,0,0,0.5);
628
+ border: 1px solid #2d3041;
629
+ z-index: 10000;
630
+ opacity: 0;
631
+ transition: opacity 0.15s;
632
+ max-width: 300px;
633
+ line-height: 1.5;
634
+ `;
635
+ document.body.appendChild(tooltipEl);
636
+ return tooltipEl;
637
+ }
638
+
639
+ export function positionTooltip(tooltip: HTMLDivElement, event: MouseEvent): void {
640
+ const gap = 12;
641
+ const tw = tooltip.offsetWidth;
642
+ const th = tooltip.offsetHeight;
643
+ const vh = window.innerHeight;
644
+
645
+ const rect = tooltipContainer?.getBoundingClientRect();
646
+ const midX = rect ? rect.left + rect.width / 2 : window.innerWidth / 2;
647
+
648
+ let left = event.clientX > midX
649
+ ? event.clientX - tw - gap
650
+ : event.clientX + gap;
651
+ let top = event.clientY - gap;
652
+
653
+ if (top + th > vh) top = event.clientY - th - gap;
654
+ if (left < 0) left = 0;
655
+ if (top < 0) top = 0;
656
+
657
+ tooltip.style.left = left + 'px';
658
+ tooltip.style.top = top + 'px';
659
+ }
660
+
661
+ export function showTooltip(tooltip: HTMLDivElement, html: string, event: MouseEvent): void {
662
+ tooltip.innerHTML = html;
663
+ tooltip.style.opacity = '1';
664
+ positionTooltip(tooltip, event);
665
+ }
666
+
667
+ export function hideTooltip(tooltip: HTMLDivElement): void {
668
+ tooltip.style.opacity = '0';
669
+ }
670
+
671
+ // ─── LEGEND ──────────────────────────────────────────────────────────────────
672
+
673
+ export interface LegendCallbacks {
674
+ onHover?: (label: string) => void;
675
+ onLeave?: () => void;
676
+ }
677
+
678
+ export interface LegendEntry {
679
+ label: string;
680
+ color: string;
681
+ extra?: string;
682
+ }
683
+
684
+ export interface LegendOptions {
685
+ shape?: 'square' | 'circle' | 'line' | 'line-dot';
686
+ callbacks?: LegendCallbacks;
687
+ maxItems?: number;
688
+ }
689
+
690
+ /**
691
+ * Create a standardised HTML flex-wrap legend.
692
+ *
693
+ * Accepts either a d3 color scale (domain → colors) or an explicit array of
694
+ * `LegendEntry` objects for one-off legends (e.g. waterfall, connected-dot-plot).
695
+ */
696
+ export function smartTruncateLabels(labels: string[], maxLen: number): string[] {
697
+ if (labels.every(l => l.length <= maxLen)) return labels;
698
+ const prefixLen = findCommonAffixLength(labels, 'prefix');
699
+ const suffixLen = findCommonAffixLength(labels, 'suffix');
700
+ const hasSharedAffix = (prefixLen + suffixLen) > 5;
701
+ if (hasSharedAffix) {
702
+ return labels.map(l => {
703
+ if (l.length <= maxLen) return l;
704
+ const uniquePart = l.slice(prefixLen, l.length - suffixLen || undefined);
705
+ if (uniquePart.length <= maxLen - 2) {
706
+ return '\u2026' + uniquePart + '\u2026';
707
+ }
708
+ const keep = maxLen - 2;
709
+ return '\u2026' + uniquePart.slice(0, keep) + '\u2026';
710
+ });
711
+ }
712
+ return labels.map(l => {
713
+ if (l.length <= maxLen) return l;
714
+ const keep = maxLen - 1;
715
+ const front = Math.ceil(keep * 0.5);
716
+ const back = keep - front;
717
+ return back > 0
718
+ ? l.slice(0, front) + '\u2026' + l.slice(-back)
719
+ : l.slice(0, keep) + '\u2026';
720
+ });
721
+ }
722
+
723
+ function findCommonAffixLength(strings: string[], direction: 'prefix' | 'suffix'): number {
724
+ if (strings.length <= 1) return 0;
725
+ const get = direction === 'prefix'
726
+ ? (s: string, i: number) => s[i]
727
+ : (s: string, i: number) => s[s.length - 1 - i];
728
+ const minLen = Math.min(...strings.map(s => s.length));
729
+ let len = 0;
730
+ for (let i = 0; i < minLen; i++) {
731
+ const ch = get(strings[0], i);
732
+ if (strings.every(s => get(s, i) === ch)) {
733
+ len++;
734
+ } else {
735
+ break;
736
+ }
737
+ }
738
+ return len;
739
+ }
740
+
741
+ export function createLegend(
742
+ source: any,
743
+ options?: LegendOptions
744
+ ): HTMLDivElement {
745
+ const shape = options?.shape ?? 'square';
746
+ const callbacks = options?.callbacks;
747
+
748
+ let entries: LegendEntry[];
749
+ if (Array.isArray(source) && source.length > 0 && source[0]?.label !== undefined) {
750
+ entries = source as LegendEntry[];
751
+ } else {
752
+ const domain: string[] = source.domain?.() ?? [];
753
+ entries = domain.map((label: string) => ({
754
+ label: String(label),
755
+ color: source(label),
756
+ }));
757
+ }
758
+
759
+ if (!entries.length) {
760
+ return document.createElement('div');
761
+ }
762
+
763
+ const maxItems = options?.maxItems ?? 12;
764
+ let overflowCount = 0;
765
+ if (entries.length > maxItems) {
766
+ overflowCount = entries.length - (maxItems - 1);
767
+ entries = entries.slice(0, maxItems - 1);
768
+ }
769
+
770
+ const maxLabelLen = 20;
771
+ const displayLabels = smartTruncateLabels(entries.map(e => e.label), maxLabelLen);
772
+
773
+ const legend = document.createElement('div');
774
+ legend.style.cssText = `
775
+ display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 14px;
776
+ padding: 6px 12px 8px; font-family: Inter, system-ui, sans-serif;
777
+ font-size: 11px; line-height: 1;
778
+ `;
779
+
780
+ entries.forEach((entry, idx) => {
781
+ const item = document.createElement('div');
782
+ item.style.cssText = callbacks
783
+ ? 'display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; cursor: pointer; transition: opacity 0.15s;'
784
+ : 'display: flex; align-items: center; gap: 5px; white-space: nowrap;';
785
+ item.setAttribute('data-series', entry.label);
786
+
787
+ const swatch = document.createElement('span');
788
+ if (shape === 'circle') {
789
+ swatch.style.cssText = `
790
+ width: 8px; height: 8px; border-radius: 50%;
791
+ background: ${entry.color}; flex-shrink: 0; transition: transform 0.15s;
792
+ `;
793
+ } else if (shape === 'line') {
794
+ swatch.style.cssText = `
795
+ width: 16px; height: 3px; border-radius: 1px;
796
+ background: ${entry.color}; flex-shrink: 0; transition: transform 0.15s;
797
+ `;
798
+ } else if (shape === 'line-dot') {
799
+ swatch.style.cssText = `
800
+ width: 16px; height: 2px; border-radius: 1px;
801
+ background: ${entry.color}; flex-shrink: 0; position: relative;
802
+ transition: transform 0.15s;
803
+ `;
804
+ const dot = document.createElement('span');
805
+ dot.style.cssText = `
806
+ position: absolute; top: 50%; left: 50%;
807
+ transform: translate(-50%, -50%);
808
+ width: 6px; height: 6px; border-radius: 50%;
809
+ background: ${entry.color}; border: 1px solid ${DARK_BG};
810
+ `;
811
+ swatch.appendChild(dot);
812
+ } else {
813
+ swatch.style.cssText = `
814
+ width: 10px; height: 10px; border-radius: 2px;
815
+ background: ${entry.color}; flex-shrink: 0; transition: transform 0.15s;
816
+ `;
817
+ }
818
+
819
+ const text = document.createElement('span');
820
+ text.style.color = TEXT_MUTED;
821
+ text.textContent = displayLabels[idx];
822
+ if (entry.label.length > maxLabelLen) text.title = entry.label;
823
+
824
+ item.appendChild(swatch);
825
+ item.appendChild(text);
826
+
827
+ if (entry.extra) {
828
+ const extra = document.createElement('span');
829
+ extra.style.color = TEXT_MUTED;
830
+ extra.style.opacity = '0.7';
831
+ extra.textContent = entry.extra;
832
+ item.appendChild(extra);
833
+ }
834
+
835
+ if (callbacks) {
836
+ item.addEventListener('mouseenter', () => {
837
+ swatch.style.transform = shape === 'line' || shape === 'line-dot' ? 'scaleY(2)' : 'scale(1.4)';
838
+ callbacks.onHover?.(entry.label);
839
+ });
840
+ item.addEventListener('mouseleave', () => {
841
+ swatch.style.transform = '';
842
+ callbacks.onLeave?.();
843
+ });
844
+ }
845
+
846
+ legend.appendChild(item);
847
+ });
848
+
849
+ if (overflowCount > 0) {
850
+ const more = document.createElement('div');
851
+ more.style.cssText = 'display: flex; align-items: center; gap: 5px; white-space: nowrap;';
852
+ const moreText = document.createElement('span');
853
+ moreText.style.cssText = `color: ${TEXT_MUTED}; opacity: 0.6; font-style: italic;`;
854
+ moreText.textContent = `+${overflowCount} more`;
855
+ more.appendChild(moreText);
856
+ legend.appendChild(more);
857
+ }
858
+
859
+ return legend;
860
+ }
861
+
862
+ /**
863
+ * Highlight a single legend item by fading others.
864
+ * Pass empty string or null to reset all to full opacity.
865
+ */
866
+ export function highlightLegendItem(legendDiv: HTMLDivElement, activeKey: string | null): void {
867
+ const items = legendDiv.querySelectorAll('[data-series]');
868
+ items.forEach((el) => {
869
+ const element = el as HTMLElement;
870
+ const isActive = !activeKey || element.getAttribute('data-series') === activeKey;
871
+ element.style.opacity = isActive ? '1' : '0.3';
872
+ });
873
+ }
874
+
875
+ // ─── PLACEHOLDER ─────────────────────────────────────────────────────────────
876
+
877
+ export function renderPlaceholder(container: HTMLElement, spec: VisualizationSpec): void {
878
+ const { svg, g, dims } = createSvg(container, spec);
879
+
880
+ g.append('rect')
881
+ .attr('x', dims.innerWidth / 2 - 160)
882
+ .attr('y', dims.innerHeight / 2 - 50)
883
+ .attr('width', 320)
884
+ .attr('height', 100)
885
+ .attr('rx', 8)
886
+ .attr('fill', '#1e2028')
887
+ .attr('stroke', '#2d3041')
888
+ .attr('stroke-width', 1);
889
+
890
+ g.append('text')
891
+ .attr('x', dims.innerWidth / 2)
892
+ .attr('y', dims.innerHeight / 2 - 10)
893
+ .attr('text-anchor', 'middle')
894
+ .attr('fill', TEXT_COLOR)
895
+ .attr('font-size', '16px')
896
+ .attr('font-weight', '600')
897
+ .attr('font-family', 'Inter, system-ui, sans-serif')
898
+ .text(`Pattern: ${spec.pattern}`);
899
+
900
+ g.append('text')
901
+ .attr('x', dims.innerWidth / 2)
902
+ .attr('y', dims.innerHeight / 2 + 16)
903
+ .attr('text-anchor', 'middle')
904
+ .attr('fill', TEXT_MUTED)
905
+ .attr('font-size', '12px')
906
+ .attr('font-family', 'Inter, system-ui, sans-serif')
907
+ .text(`${spec.data.length} rows, ${Object.keys(spec.data[0] || {}).length} columns`);
908
+
909
+ g.append('text')
910
+ .attr('x', dims.innerWidth / 2)
911
+ .attr('y', dims.innerHeight / 2 + 34)
912
+ .attr('text-anchor', 'middle')
913
+ .attr('fill', TEXT_MUTED)
914
+ .attr('font-size', '11px')
915
+ .attr('font-family', 'Inter, system-ui, sans-serif')
916
+ .text('Renderer not yet implemented');
917
+ }
918
+
919
+ // ─── SORT CONTROLS ──────────────────────────────────────────────────────────
920
+
921
+ /**
922
+ * Add minimal interactive sort controls to any categorical chart.
923
+ * Positioned in the top-right corner, on the same line as the title.
924
+ * Controls are hidden by default and appear on chart hover.
925
+ *
926
+ * @param svg - The D3 SVG selection
927
+ * @param container - The DOM container (cleared + re-rendered on sort)
928
+ * @param spec - The visualization spec (mutated with new sortBy/sortOrder)
929
+ * @param dims - Chart dimensions
930
+ * @param renderFn - The render function to call after sorting (e.g. renderBar, renderStackedBar)
931
+ */
932
+ export function addSortControls(
933
+ svg: any,
934
+ container: HTMLElement,
935
+ spec: VisualizationSpec,
936
+ dims: ChartDimensions,
937
+ renderFn: (container: HTMLElement, spec: VisualizationSpec) => void
938
+ ): void {
939
+ const currentSortBy = spec.config.sortBy || 'value';
940
+ const currentSortOrder = spec.config.sortOrder || 'descending';
941
+
942
+ // Position in top-right corner, aligned with title
943
+ const xPos = dims.width - dims.margin.right - 40;
944
+ const yPos = 24;
945
+
946
+ const controls = svg
947
+ .append('g')
948
+ .attr('class', 'sort-controls')
949
+ .attr('transform', `translate(${xPos}, ${yPos})`)
950
+ .style('opacity', 0)
951
+ .style('cursor', 'pointer')
952
+ .style('transition', 'opacity 0.2s')
953
+ .style('user-select', 'none')
954
+ .style('-webkit-user-select', 'none');
955
+
956
+ controls
957
+ .append('rect')
958
+ .attr('x', -26)
959
+ .attr('y', -10)
960
+ .attr('width', 52)
961
+ .attr('height', 20)
962
+ .attr('rx', 4)
963
+ .attr('fill', '#1e2028')
964
+ .attr('stroke', '#2d3041')
965
+ .attr('stroke-width', 1);
966
+
967
+ controls
968
+ .append('text')
969
+ .attr('x', -8)
970
+ .attr('y', 3)
971
+ .attr('text-anchor', 'middle')
972
+ .attr('font-size', '9px')
973
+ .attr('font-family', 'Inter, system-ui, sans-serif')
974
+ .attr('font-weight', '600')
975
+ .attr('fill', TEXT_MUTED)
976
+ .text(currentSortBy === 'category' ? 'ABC' : '123');
977
+
978
+ controls
979
+ .append('text')
980
+ .attr('x', 14)
981
+ .attr('y', 3)
982
+ .attr('text-anchor', 'middle')
983
+ .attr('font-size', '11px')
984
+ .attr('fill', TEXT_MUTED)
985
+ .text(currentSortOrder === 'descending' ? '▼' : '▲');
986
+
987
+ svg
988
+ .on('mouseenter', () => { controls.style('opacity', 1); })
989
+ .on('mouseleave', () => { controls.style('opacity', 0); });
990
+
991
+ controls.on('click', (event: MouseEvent) => {
992
+ event.stopPropagation();
993
+
994
+ const curSortBy = spec.config.sortBy || 'value';
995
+ const curSortOrder = spec.config.sortOrder || 'descending';
996
+
997
+ let newSortBy: string;
998
+ let newSortOrder: string;
999
+
1000
+ if (curSortBy === 'value' && curSortOrder === 'descending') {
1001
+ newSortBy = 'value'; newSortOrder = 'ascending';
1002
+ } else if (curSortBy === 'value' && curSortOrder === 'ascending') {
1003
+ newSortBy = 'category'; newSortOrder = 'ascending';
1004
+ } else if (curSortBy === 'category' && curSortOrder === 'ascending') {
1005
+ newSortBy = 'category'; newSortOrder = 'descending';
1006
+ } else {
1007
+ newSortBy = 'value'; newSortOrder = 'descending';
1008
+ }
1009
+
1010
+ spec.config.sortBy = newSortBy;
1011
+ spec.config.sortOrder = newSortOrder;
1012
+ container.innerHTML = '';
1013
+ renderFn(container, spec);
1014
+ });
1015
+ }
1016
+
1017
+ // ─── UTILITIES ───────────────────────────────────────────────────────────────
1018
+
1019
+ export function formatValue(v: number): string {
1020
+ if (Math.abs(v) >= 1e12) return (v / 1e12).toFixed(1) + 'T';
1021
+ if (Math.abs(v) >= 1e9) return (v / 1e9).toFixed(1) + 'B';
1022
+ if (Math.abs(v) >= 1e6) return (v / 1e6).toFixed(1) + 'M';
1023
+ if (Math.abs(v) >= 1e3) return (v / 1e3).toFixed(1) + 'K';
1024
+ if (Math.abs(v) < 1 && v !== 0) {
1025
+ const precision = Math.max(2, Math.ceil(-Math.log10(Math.abs(v))) + 1);
1026
+ return v.toFixed(Math.min(precision, 6));
1027
+ }
1028
+ return Number.isInteger(v) ? v.toFixed(0) : v.toFixed(1);
1029
+ }