tuiuiu.js 0.1.1 → 0.1.4-next.2b42a16

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 (402) hide show
  1. package/README.md +100 -42
  2. package/dist/atoms/button.d.ts.map +1 -1
  3. package/dist/atoms/button.js +17 -9
  4. package/dist/atoms/button.js.map +1 -1
  5. package/dist/atoms/text-input.d.ts +2 -0
  6. package/dist/atoms/text-input.d.ts.map +1 -1
  7. package/dist/atoms/text-input.js +13 -7
  8. package/dist/atoms/text-input.js.map +1 -1
  9. package/dist/atoms/tooltip.d.ts.map +1 -1
  10. package/dist/atoms/tooltip.js +2 -1
  11. package/dist/atoms/tooltip.js.map +1 -1
  12. package/dist/cli/commands/help.d.ts +5 -0
  13. package/dist/cli/commands/help.d.ts.map +1 -0
  14. package/dist/cli/commands/help.js +31 -0
  15. package/dist/cli/commands/help.js.map +1 -0
  16. package/dist/cli/commands/mcp.d.ts +11 -0
  17. package/dist/cli/commands/mcp.d.ts.map +1 -0
  18. package/dist/cli/commands/mcp.js +21 -0
  19. package/dist/cli/commands/mcp.js.map +1 -0
  20. package/dist/cli/commands/storybook.d.ts +5 -0
  21. package/dist/cli/commands/storybook.d.ts.map +1 -0
  22. package/dist/cli/commands/storybook.js +9 -0
  23. package/dist/cli/commands/storybook.js.map +1 -0
  24. package/dist/cli/index.d.ts +14 -0
  25. package/dist/cli/index.d.ts.map +1 -0
  26. package/dist/cli/index.js +50 -0
  27. package/dist/cli/index.js.map +1 -0
  28. package/dist/core/error-boundary.d.ts.map +1 -1
  29. package/dist/core/error-boundary.js +2 -1
  30. package/dist/core/error-boundary.js.map +1 -1
  31. package/dist/core/hotkeys.d.ts +62 -0
  32. package/dist/core/hotkeys.d.ts.map +1 -0
  33. package/dist/core/hotkeys.js +0 -0
  34. package/dist/core/hotkeys.js.map +1 -0
  35. package/dist/core/index.d.ts +3 -1
  36. package/dist/core/index.d.ts.map +1 -1
  37. package/dist/core/index.js +9 -1
  38. package/dist/core/index.js.map +1 -1
  39. package/dist/core/screen.d.ts.map +1 -1
  40. package/dist/core/screen.js +2 -0
  41. package/dist/core/screen.js.map +1 -1
  42. package/dist/core/theme.d.ts +79 -0
  43. package/dist/core/theme.d.ts.map +1 -1
  44. package/dist/core/theme.js +358 -0
  45. package/dist/core/theme.js.map +1 -1
  46. package/dist/design-system/data-display/index.d.ts +9 -6
  47. package/dist/design-system/data-display/index.d.ts.map +1 -1
  48. package/dist/design-system/data-display/index.js +16 -7
  49. package/dist/design-system/data-display/index.js.map +1 -1
  50. package/dist/design-system/feedback/badge.d.ts +21 -4
  51. package/dist/design-system/feedback/badge.d.ts.map +1 -1
  52. package/dist/design-system/feedback/badge.js +15 -2
  53. package/dist/design-system/feedback/badge.js.map +1 -1
  54. package/dist/design-system/forms/index.d.ts +11 -8
  55. package/dist/design-system/forms/index.d.ts.map +1 -1
  56. package/dist/design-system/forms/index.js +19 -10
  57. package/dist/design-system/forms/index.js.map +1 -1
  58. package/dist/design-system/layout/index.d.ts +7 -4
  59. package/dist/design-system/layout/index.d.ts.map +1 -1
  60. package/dist/design-system/layout/index.js +18 -6
  61. package/dist/design-system/layout/index.js.map +1 -1
  62. package/dist/design-system/media/picture.d.ts.map +1 -1
  63. package/dist/design-system/media/picture.js +2 -1
  64. package/dist/design-system/media/picture.js.map +1 -1
  65. package/dist/design-system/overlays/index.d.ts +6 -3
  66. package/dist/design-system/overlays/index.d.ts.map +1 -1
  67. package/dist/design-system/overlays/index.js +9 -3
  68. package/dist/design-system/overlays/index.js.map +1 -1
  69. package/dist/design-system/visual/splash-screen.d.ts.map +1 -1
  70. package/dist/design-system/visual/splash-screen.js +38 -18
  71. package/dist/design-system/visual/splash-screen.js.map +1 -1
  72. package/dist/hooks/index.d.ts +2 -0
  73. package/dist/hooks/index.d.ts.map +1 -1
  74. package/dist/hooks/index.js +2 -0
  75. package/dist/hooks/index.js.map +1 -1
  76. package/dist/hooks/use-hotkeys.d.ts +153 -0
  77. package/dist/hooks/use-hotkeys.d.ts.map +1 -0
  78. package/dist/hooks/use-hotkeys.js +379 -0
  79. package/dist/hooks/use-hotkeys.js.map +1 -0
  80. package/dist/hooks/use-input.d.ts +2 -10
  81. package/dist/hooks/use-input.d.ts.map +1 -1
  82. package/dist/hooks/use-input.js +2 -287
  83. package/dist/hooks/use-input.js.map +1 -1
  84. package/dist/hooks/use-mouse.d.ts +5 -0
  85. package/dist/hooks/use-mouse.d.ts.map +1 -1
  86. package/dist/hooks/use-mouse.js +29 -11
  87. package/dist/hooks/use-mouse.js.map +1 -1
  88. package/dist/index.d.ts +6 -4
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +15 -3
  91. package/dist/index.js.map +1 -1
  92. package/dist/mcp/docs-data.d.ts +31 -0
  93. package/dist/mcp/docs-data.d.ts.map +1 -0
  94. package/dist/mcp/docs-data.js +637 -0
  95. package/dist/mcp/docs-data.js.map +1 -0
  96. package/dist/mcp/index.d.ts +14 -0
  97. package/dist/mcp/index.d.ts.map +1 -0
  98. package/dist/mcp/index.js +12 -0
  99. package/dist/mcp/index.js.map +1 -0
  100. package/dist/mcp/server.d.ts +31 -0
  101. package/dist/mcp/server.d.ts.map +1 -0
  102. package/dist/mcp/server.js +597 -0
  103. package/dist/mcp/server.js.map +1 -0
  104. package/dist/mcp/types.d.ts +114 -0
  105. package/dist/mcp/types.d.ts.map +1 -0
  106. package/dist/mcp/types.js +16 -0
  107. package/dist/mcp/types.js.map +1 -0
  108. package/dist/molecules/autocomplete.d.ts.map +1 -1
  109. package/dist/molecules/autocomplete.js +2 -1
  110. package/dist/molecules/autocomplete.js.map +1 -1
  111. package/dist/molecules/calendar.d.ts.map +1 -1
  112. package/dist/molecules/calendar.js +5 -3
  113. package/dist/molecules/calendar.js.map +1 -1
  114. package/dist/molecules/data-viz/annotations.d.ts +75 -0
  115. package/dist/molecules/data-viz/annotations.d.ts.map +1 -0
  116. package/dist/molecules/data-viz/annotations.js +40 -0
  117. package/dist/molecules/data-viz/annotations.js.map +1 -0
  118. package/dist/molecules/data-viz/gantt-chart.d.ts +66 -0
  119. package/dist/molecules/data-viz/gantt-chart.d.ts.map +1 -0
  120. package/dist/molecules/data-viz/gantt-chart.js +134 -0
  121. package/dist/molecules/data-viz/gantt-chart.js.map +1 -0
  122. package/dist/molecules/data-viz/gauge.d.ts +2 -2
  123. package/dist/molecules/data-viz/gauge.d.ts.map +1 -1
  124. package/dist/molecules/data-viz/gauge.js +24 -8
  125. package/dist/molecules/data-viz/gauge.js.map +1 -1
  126. package/dist/molecules/data-viz/heatmap.d.ts +8 -2
  127. package/dist/molecules/data-viz/heatmap.d.ts.map +1 -1
  128. package/dist/molecules/data-viz/heatmap.js +41 -9
  129. package/dist/molecules/data-viz/heatmap.js.map +1 -1
  130. package/dist/molecules/data-viz/hooks.d.ts +264 -0
  131. package/dist/molecules/data-viz/hooks.d.ts.map +1 -0
  132. package/dist/molecules/data-viz/hooks.js +373 -0
  133. package/dist/molecules/data-viz/hooks.js.map +1 -0
  134. package/dist/molecules/data-viz/index.d.ts +14 -0
  135. package/dist/molecules/data-viz/index.d.ts.map +1 -1
  136. package/dist/molecules/data-viz/index.js +14 -0
  137. package/dist/molecules/data-viz/index.js.map +1 -1
  138. package/dist/molecules/data-viz/legend.d.ts +82 -0
  139. package/dist/molecules/data-viz/legend.d.ts.map +1 -0
  140. package/dist/molecules/data-viz/legend.js +146 -0
  141. package/dist/molecules/data-viz/legend.js.map +1 -0
  142. package/dist/molecules/data-viz/line-chart.d.ts.map +1 -1
  143. package/dist/molecules/data-viz/line-chart.js +48 -12
  144. package/dist/molecules/data-viz/line-chart.js.map +1 -1
  145. package/dist/molecules/data-viz/radar-chart.d.ts +61 -0
  146. package/dist/molecules/data-viz/radar-chart.d.ts.map +1 -0
  147. package/dist/molecules/data-viz/radar-chart.js +86 -0
  148. package/dist/molecules/data-viz/radar-chart.js.map +1 -0
  149. package/dist/molecules/data-viz/scatter-plot.d.ts +97 -0
  150. package/dist/molecules/data-viz/scatter-plot.d.ts.map +1 -0
  151. package/dist/molecules/data-viz/scatter-plot.js +205 -0
  152. package/dist/molecules/data-viz/scatter-plot.js.map +1 -0
  153. package/dist/molecules/data-viz/time-heatmap.d.ts +48 -0
  154. package/dist/molecules/data-viz/time-heatmap.d.ts.map +1 -0
  155. package/dist/molecules/data-viz/time-heatmap.js +145 -0
  156. package/dist/molecules/data-viz/time-heatmap.js.map +1 -0
  157. package/dist/molecules/select.d.ts +2 -0
  158. package/dist/molecules/select.d.ts.map +1 -1
  159. package/dist/molecules/select.js +4 -3
  160. package/dist/molecules/select.js.map +1 -1
  161. package/dist/molecules/tabs.d.ts.map +1 -1
  162. package/dist/molecules/tabs.js +14 -2
  163. package/dist/molecules/tabs.js.map +1 -1
  164. package/dist/organisms/command-palette.d.ts.map +1 -1
  165. package/dist/organisms/command-palette.js +2 -1
  166. package/dist/organisms/command-palette.js.map +1 -1
  167. package/dist/storybook/app.d.ts.map +1 -1
  168. package/dist/storybook/app.js +53 -44
  169. package/dist/storybook/app.js.map +1 -1
  170. package/dist/storybook/components/compare-view.d.ts.map +1 -1
  171. package/dist/storybook/components/compare-view.js +19 -18
  172. package/dist/storybook/components/compare-view.js.map +1 -1
  173. package/dist/storybook/components/log-viewer.d.ts.map +1 -1
  174. package/dist/storybook/components/log-viewer.js +9 -8
  175. package/dist/storybook/components/log-viewer.js.map +1 -1
  176. package/dist/storybook/components/preview.d.ts.map +1 -1
  177. package/dist/storybook/components/preview.js +34 -33
  178. package/dist/storybook/components/preview.js.map +1 -1
  179. package/dist/storybook/components/sidebar.d.ts.map +1 -1
  180. package/dist/storybook/components/sidebar.js +21 -20
  181. package/dist/storybook/components/sidebar.js.map +1 -1
  182. package/dist/storybook/stories/apps/index.d.ts.map +1 -1
  183. package/dist/storybook/stories/apps/index.js +306 -209
  184. package/dist/storybook/stories/apps/index.js.map +1 -1
  185. package/dist/storybook/stories/atoms/index.d.ts.map +1 -1
  186. package/dist/storybook/stories/atoms/index.js.map +1 -1
  187. package/dist/storybook/stories/molecules/index.d.ts +25 -0
  188. package/dist/storybook/stories/molecules/index.d.ts.map +1 -1
  189. package/dist/storybook/stories/molecules/index.js +402 -20
  190. package/dist/storybook/stories/molecules/index.js.map +1 -1
  191. package/dist/storybook/stories/organisms/index.d.ts.map +1 -1
  192. package/dist/storybook/stories/organisms/index.js +1 -1
  193. package/dist/storybook/stories/organisms/index.js.map +1 -1
  194. package/dist/utils/index.d.ts +2 -0
  195. package/dist/utils/index.d.ts.map +1 -1
  196. package/dist/utils/index.js +2 -0
  197. package/dist/utils/index.js.map +1 -1
  198. package/dist/utils/system-data.d.ts +73 -0
  199. package/dist/utils/system-data.d.ts.map +1 -0
  200. package/dist/utils/system-data.js +367 -0
  201. package/dist/utils/system-data.js.map +1 -0
  202. package/dist/version.d.ts +43 -0
  203. package/dist/version.d.ts.map +1 -0
  204. package/dist/version.js +82 -0
  205. package/dist/version.js.map +1 -0
  206. package/package.json +22 -22
  207. package/dist/components/canvas.d.ts +0 -322
  208. package/dist/components/canvas.d.ts.map +0 -1
  209. package/dist/components/canvas.js +0 -833
  210. package/dist/components/canvas.js.map +0 -1
  211. package/dist/components/code-block.d.ts +0 -75
  212. package/dist/components/code-block.d.ts.map +0 -1
  213. package/dist/components/code-block.js +0 -322
  214. package/dist/components/code-block.js.map +0 -1
  215. package/dist/components/components.d.ts +0 -122
  216. package/dist/components/components.d.ts.map +0 -1
  217. package/dist/components/components.js +0 -151
  218. package/dist/components/components.js.map +0 -1
  219. package/dist/components/data-viz/bar-chart.d.ts +0 -167
  220. package/dist/components/data-viz/bar-chart.d.ts.map +0 -1
  221. package/dist/components/data-viz/bar-chart.js +0 -375
  222. package/dist/components/data-viz/bar-chart.js.map +0 -1
  223. package/dist/components/data-viz/gauge.d.ts +0 -163
  224. package/dist/components/data-viz/gauge.d.ts.map +0 -1
  225. package/dist/components/data-viz/gauge.js +0 -451
  226. package/dist/components/data-viz/gauge.js.map +0 -1
  227. package/dist/components/data-viz/heatmap.d.ts +0 -154
  228. package/dist/components/data-viz/heatmap.d.ts.map +0 -1
  229. package/dist/components/data-viz/heatmap.js +0 -458
  230. package/dist/components/data-viz/heatmap.js.map +0 -1
  231. package/dist/components/data-viz/index.d.ts +0 -16
  232. package/dist/components/data-viz/index.d.ts.map +0 -1
  233. package/dist/components/data-viz/index.js +0 -16
  234. package/dist/components/data-viz/index.js.map +0 -1
  235. package/dist/components/data-viz/line-chart.d.ts +0 -157
  236. package/dist/components/data-viz/line-chart.d.ts.map +0 -1
  237. package/dist/components/data-viz/line-chart.js +0 -578
  238. package/dist/components/data-viz/line-chart.js.map +0 -1
  239. package/dist/components/data-viz/sparkline.d.ts +0 -156
  240. package/dist/components/data-viz/sparkline.d.ts.map +0 -1
  241. package/dist/components/data-viz/sparkline.js +0 -325
  242. package/dist/components/data-viz/sparkline.js.map +0 -1
  243. package/dist/components/grid.d.ts +0 -234
  244. package/dist/components/grid.d.ts.map +0 -1
  245. package/dist/components/grid.js +0 -719
  246. package/dist/components/grid.js.map +0 -1
  247. package/dist/components/index.d.ts +0 -33
  248. package/dist/components/index.d.ts.map +0 -1
  249. package/dist/components/index.js +0 -69
  250. package/dist/components/index.js.map +0 -1
  251. package/dist/components/markdown.d.ts +0 -52
  252. package/dist/components/markdown.d.ts.map +0 -1
  253. package/dist/components/markdown.js +0 -341
  254. package/dist/components/markdown.js.map +0 -1
  255. package/dist/components/modal.d.ts +0 -237
  256. package/dist/components/modal.d.ts.map +0 -1
  257. package/dist/components/modal.js +0 -396
  258. package/dist/components/modal.js.map +0 -1
  259. package/dist/components/progress-bar.d.ts +0 -89
  260. package/dist/components/progress-bar.d.ts.map +0 -1
  261. package/dist/components/progress-bar.js +0 -288
  262. package/dist/components/progress-bar.js.map +0 -1
  263. package/dist/components/select.d.ts +0 -114
  264. package/dist/components/select.d.ts.map +0 -1
  265. package/dist/components/select.js +0 -415
  266. package/dist/components/select.js.map +0 -1
  267. package/dist/components/spinner.d.ts +0 -71
  268. package/dist/components/spinner.d.ts.map +0 -1
  269. package/dist/components/spinner.js +0 -300
  270. package/dist/components/spinner.js.map +0 -1
  271. package/dist/components/split-panel.d.ts +0 -175
  272. package/dist/components/split-panel.d.ts.map +0 -1
  273. package/dist/components/split-panel.js +0 -322
  274. package/dist/components/split-panel.js.map +0 -1
  275. package/dist/components/table.d.ts +0 -103
  276. package/dist/components/table.d.ts.map +0 -1
  277. package/dist/components/table.js +0 -359
  278. package/dist/components/table.js.map +0 -1
  279. package/dist/components/text-input.d.ts +0 -79
  280. package/dist/components/text-input.d.ts.map +0 -1
  281. package/dist/components/text-input.js +0 -332
  282. package/dist/components/text-input.js.map +0 -1
  283. package/dist/design-system/data-display/calendar.d.ts +0 -141
  284. package/dist/design-system/data-display/calendar.d.ts.map +0 -1
  285. package/dist/design-system/data-display/calendar.js +0 -524
  286. package/dist/design-system/data-display/calendar.js.map +0 -1
  287. package/dist/design-system/data-display/code-block.d.ts +0 -75
  288. package/dist/design-system/data-display/code-block.d.ts.map +0 -1
  289. package/dist/design-system/data-display/code-block.js +0 -311
  290. package/dist/design-system/data-display/code-block.js.map +0 -1
  291. package/dist/design-system/data-display/data-table.d.ts +0 -173
  292. package/dist/design-system/data-display/data-table.d.ts.map +0 -1
  293. package/dist/design-system/data-display/data-table.js +0 -428
  294. package/dist/design-system/data-display/data-table.js.map +0 -1
  295. package/dist/design-system/data-display/markdown.d.ts +0 -52
  296. package/dist/design-system/data-display/markdown.d.ts.map +0 -1
  297. package/dist/design-system/data-display/markdown.js +0 -341
  298. package/dist/design-system/data-display/markdown.js.map +0 -1
  299. package/dist/design-system/data-display/table.d.ts +0 -103
  300. package/dist/design-system/data-display/table.d.ts.map +0 -1
  301. package/dist/design-system/data-display/table.js +0 -342
  302. package/dist/design-system/data-display/table.js.map +0 -1
  303. package/dist/design-system/data-display/tree.d.ts +0 -166
  304. package/dist/design-system/data-display/tree.d.ts.map +0 -1
  305. package/dist/design-system/data-display/tree.js +0 -428
  306. package/dist/design-system/data-display/tree.js.map +0 -1
  307. package/dist/design-system/forms/autocomplete.d.ts +0 -163
  308. package/dist/design-system/forms/autocomplete.d.ts.map +0 -1
  309. package/dist/design-system/forms/autocomplete.js +0 -455
  310. package/dist/design-system/forms/autocomplete.js.map +0 -1
  311. package/dist/design-system/forms/button.d.ts +0 -106
  312. package/dist/design-system/forms/button.d.ts.map +0 -1
  313. package/dist/design-system/forms/button.js +0 -170
  314. package/dist/design-system/forms/button.js.map +0 -1
  315. package/dist/design-system/forms/multi-select.d.ts +0 -102
  316. package/dist/design-system/forms/multi-select.d.ts.map +0 -1
  317. package/dist/design-system/forms/multi-select.js +0 -309
  318. package/dist/design-system/forms/multi-select.js.map +0 -1
  319. package/dist/design-system/forms/radio-group.d.ts +0 -88
  320. package/dist/design-system/forms/radio-group.d.ts.map +0 -1
  321. package/dist/design-system/forms/radio-group.js +0 -145
  322. package/dist/design-system/forms/radio-group.js.map +0 -1
  323. package/dist/design-system/forms/select.d.ts +0 -116
  324. package/dist/design-system/forms/select.d.ts.map +0 -1
  325. package/dist/design-system/forms/select.js +0 -441
  326. package/dist/design-system/forms/select.js.map +0 -1
  327. package/dist/design-system/forms/slider.d.ts +0 -134
  328. package/dist/design-system/forms/slider.d.ts.map +0 -1
  329. package/dist/design-system/forms/slider.js +0 -314
  330. package/dist/design-system/forms/slider.js.map +0 -1
  331. package/dist/design-system/forms/switch.d.ts +0 -99
  332. package/dist/design-system/forms/switch.d.ts.map +0 -1
  333. package/dist/design-system/forms/switch.js +0 -173
  334. package/dist/design-system/forms/switch.js.map +0 -1
  335. package/dist/design-system/forms/text-input.d.ts +0 -79
  336. package/dist/design-system/forms/text-input.d.ts.map +0 -1
  337. package/dist/design-system/forms/text-input.js +0 -344
  338. package/dist/design-system/forms/text-input.js.map +0 -1
  339. package/dist/design-system/layout/collapsible.d.ts +0 -166
  340. package/dist/design-system/layout/collapsible.d.ts.map +0 -1
  341. package/dist/design-system/layout/collapsible.js +0 -286
  342. package/dist/design-system/layout/collapsible.js.map +0 -1
  343. package/dist/design-system/layout/scroll-area.d.ts +0 -188
  344. package/dist/design-system/layout/scroll-area.d.ts.map +0 -1
  345. package/dist/design-system/layout/scroll-area.js +0 -348
  346. package/dist/design-system/layout/scroll-area.js.map +0 -1
  347. package/dist/design-system/layout/split-panel.d.ts +0 -183
  348. package/dist/design-system/layout/split-panel.d.ts.map +0 -1
  349. package/dist/design-system/layout/split-panel.js +0 -323
  350. package/dist/design-system/layout/split-panel.js.map +0 -1
  351. package/dist/design-system/layout/tabs.d.ts +0 -129
  352. package/dist/design-system/layout/tabs.d.ts.map +0 -1
  353. package/dist/design-system/layout/tabs.js +0 -373
  354. package/dist/design-system/layout/tabs.js.map +0 -1
  355. package/dist/design-system/overlays/command-palette.d.ts +0 -217
  356. package/dist/design-system/overlays/command-palette.d.ts.map +0 -1
  357. package/dist/design-system/overlays/command-palette.js +0 -443
  358. package/dist/design-system/overlays/command-palette.js.map +0 -1
  359. package/dist/design-system/overlays/modal.d.ts +0 -251
  360. package/dist/design-system/overlays/modal.d.ts.map +0 -1
  361. package/dist/design-system/overlays/modal.js +0 -461
  362. package/dist/design-system/overlays/modal.js.map +0 -1
  363. package/dist/design-system/overlays/overlay-stack.d.ts +0 -200
  364. package/dist/design-system/overlays/overlay-stack.d.ts.map +0 -1
  365. package/dist/design-system/overlays/overlay-stack.js +0 -341
  366. package/dist/design-system/overlays/overlay-stack.js.map +0 -1
  367. package/dist/design-system/primitives/box.d.ts +0 -16
  368. package/dist/design-system/primitives/box.d.ts.map +0 -1
  369. package/dist/design-system/primitives/box.js +0 -23
  370. package/dist/design-system/primitives/box.js.map +0 -1
  371. package/dist/design-system/primitives/divider.d.ts +0 -52
  372. package/dist/design-system/primitives/divider.d.ts.map +0 -1
  373. package/dist/design-system/primitives/divider.js +0 -72
  374. package/dist/design-system/primitives/divider.js.map +0 -1
  375. package/dist/design-system/primitives/helpers.d.ts +0 -10
  376. package/dist/design-system/primitives/helpers.d.ts.map +0 -1
  377. package/dist/design-system/primitives/helpers.js +0 -27
  378. package/dist/design-system/primitives/helpers.js.map +0 -1
  379. package/dist/design-system/primitives/index.d.ts +0 -11
  380. package/dist/design-system/primitives/index.d.ts.map +0 -1
  381. package/dist/design-system/primitives/index.js +0 -14
  382. package/dist/design-system/primitives/index.js.map +0 -1
  383. package/dist/design-system/primitives/slot.d.ts +0 -35
  384. package/dist/design-system/primitives/slot.d.ts.map +0 -1
  385. package/dist/design-system/primitives/slot.js +0 -17
  386. package/dist/design-system/primitives/slot.js.map +0 -1
  387. package/dist/design-system/primitives/spacer.d.ts +0 -34
  388. package/dist/design-system/primitives/spacer.d.ts.map +0 -1
  389. package/dist/design-system/primitives/spacer.js +0 -53
  390. package/dist/design-system/primitives/spacer.js.map +0 -1
  391. package/dist/design-system/primitives/text.d.ts +0 -12
  392. package/dist/design-system/primitives/text.d.ts.map +0 -1
  393. package/dist/design-system/primitives/text.js +0 -25
  394. package/dist/design-system/primitives/text.js.map +0 -1
  395. package/dist/design-system/primitives/utilities.d.ts +0 -70
  396. package/dist/design-system/primitives/utilities.d.ts.map +0 -1
  397. package/dist/design-system/primitives/utilities.js +0 -56
  398. package/dist/design-system/primitives/utilities.js.map +0 -1
  399. package/dist/storybook/cli.d.ts +0 -10
  400. package/dist/storybook/cli.d.ts.map +0 -1
  401. package/dist/storybook/cli.js +0 -14
  402. package/dist/storybook/cli.js.map +0 -1
@@ -0,0 +1,264 @@
1
+ /**
2
+ * Interactive Hooks for Data Visualization
3
+ *
4
+ * React-like hooks for managing interactive state in charts:
5
+ * - useChartSelection: Manage selected data points
6
+ * - useChartHover: Manage hover state
7
+ * - useChartKeyboard: Keyboard navigation
8
+ * - useChartTooltip: Tooltip positioning
9
+ * - useChartZoom: Zoom and pan
10
+ * - useChartInteraction: Combined interactions
11
+ */
12
+ export interface SelectionState {
13
+ /** Selected data point index */
14
+ selectedIndex?: number;
15
+ /** Selected data indices (multi-select) */
16
+ selectedIndices: number[];
17
+ /** Last selected index */
18
+ lastSelectedIndex?: number;
19
+ }
20
+ export interface HoverState {
21
+ /** Currently hovered index */
22
+ hoveredIndex?: number;
23
+ /** Hover position */
24
+ position?: {
25
+ x: number;
26
+ y: number;
27
+ };
28
+ }
29
+ export interface TooltipState {
30
+ /** Tooltip visible */
31
+ visible: boolean;
32
+ /** Tooltip content */
33
+ content: string;
34
+ /** Tooltip position */
35
+ position: {
36
+ x: number;
37
+ y: number;
38
+ };
39
+ }
40
+ export interface ZoomState {
41
+ /** Zoom level (1 = 100%) */
42
+ level: number;
43
+ /** Pan offset */
44
+ panX: number;
45
+ panY: number;
46
+ }
47
+ export interface ChartInteractionState {
48
+ selection: SelectionState;
49
+ hover: HoverState;
50
+ tooltip: TooltipState;
51
+ zoom: ZoomState;
52
+ /** Currently focused chart (for keyboard nav) */
53
+ isFocused: boolean;
54
+ }
55
+ /**
56
+ * Hook for managing data point selection
57
+ *
58
+ * @param dataLength - Number of data points
59
+ * @param multiSelect - Enable multi-select (default: false)
60
+ * @returns Selection state and handlers
61
+ *
62
+ * @example
63
+ * const { selectedIndices, select, clear } = useChartSelection(10)
64
+ * select(0) // Select first point
65
+ * select(2, true) // Multi-select with previous
66
+ * clear() // Clear selection
67
+ */
68
+ export declare function useChartSelection(dataLength: number, multiSelect?: boolean): {
69
+ selectedIndices: () => number[];
70
+ lastSelectedIndex: () => number | undefined;
71
+ select: (index: number, addToSelection?: boolean) => void;
72
+ selectRange: (start: number, end: number) => void;
73
+ clear: () => void;
74
+ isSelected: (index: number) => boolean;
75
+ };
76
+ /**
77
+ * Hook for managing hover state
78
+ *
79
+ * @param dataLength - Number of data points
80
+ * @returns Hover state and handlers
81
+ *
82
+ * @example
83
+ * const { hoveredIndex, hover, unhover } = useChartHover(10)
84
+ * hover(2) // Hover over index 2
85
+ * unhover() // Clear hover
86
+ */
87
+ export declare function useChartHover(dataLength: number): {
88
+ hoveredIndex: () => number | undefined;
89
+ position: () => {
90
+ x: number;
91
+ y: number;
92
+ } | undefined;
93
+ hover: (index: number, pos?: {
94
+ x: number;
95
+ y: number;
96
+ }) => void;
97
+ unhover: () => void;
98
+ };
99
+ /**
100
+ * Hook for managing tooltip display
101
+ *
102
+ * @returns Tooltip state and handlers
103
+ *
104
+ * @example
105
+ * const { visible, show, hide } = useChartTooltip()
106
+ * show('Value: 42', { x: 10, y: 20 })
107
+ * hide()
108
+ */
109
+ export declare function useChartTooltip(): {
110
+ visible: () => boolean;
111
+ content: () => string;
112
+ position: () => {
113
+ x: number;
114
+ y: number;
115
+ };
116
+ show: (text: string, pos: {
117
+ x: number;
118
+ y: number;
119
+ }) => void;
120
+ hide: () => void;
121
+ };
122
+ /**
123
+ * Hook for managing zoom and pan
124
+ *
125
+ * @param initialLevel - Initial zoom level (default: 1)
126
+ * @returns Zoom state and handlers
127
+ *
128
+ * @example
129
+ * const { level, panX, panY, zoom, pan, reset } = useChartZoom()
130
+ * zoom(1.2) // Zoom to 120%
131
+ * pan(10, 5) // Pan by 10, 5
132
+ * reset() // Reset zoom and pan
133
+ */
134
+ export declare function useChartZoom(initialLevel?: number): {
135
+ level: () => number;
136
+ panX: () => number;
137
+ panY: () => number;
138
+ zoom: (newLevel: number, minLevel?: number, maxLevel?: number) => void;
139
+ zoomIn: (factor?: number) => void;
140
+ zoomOut: (factor?: number) => void;
141
+ pan: (dx: number, dy: number) => void;
142
+ reset: () => void;
143
+ };
144
+ /**
145
+ * Hook for keyboard navigation in charts
146
+ *
147
+ * @param dataLength - Number of data points
148
+ * @param onSelect - Callback when item selected via keyboard
149
+ * @param onNavigate - Callback when navigation occurs
150
+ * @returns Navigation state and handlers
151
+ *
152
+ * @example
153
+ * const nav = useChartKeyboard(10, (idx) => select(idx))
154
+ * // User presses Up/Down arrows to navigate
155
+ */
156
+ export declare function useChartKeyboard(dataLength: number, onSelect?: (index: number) => void, onNavigate?: (index: number) => void): {
157
+ currentIndex: () => number;
158
+ isNavigating: () => boolean;
159
+ navigate: (direction: "up" | "down" | "first" | "last") => void;
160
+ selectCurrent: () => void;
161
+ };
162
+ /**
163
+ * Combined hook for full chart interactivity
164
+ *
165
+ * @param dataLength - Number of data points
166
+ * @param options - Configuration options
167
+ * @returns All interaction handlers
168
+ *
169
+ * @example
170
+ * const interaction = useChartInteraction(data.length, {
171
+ * multiSelect: true,
172
+ * withTooltip: true,
173
+ * withZoom: true,
174
+ * })
175
+ *
176
+ * // Use in event handlers
177
+ * onMouseMove={(e) => interaction.hover(index, { x: e.x, y: e.y })}
178
+ * onMouseLeave={() => interaction.unhover()}
179
+ * onClick={(e) => interaction.select(index)}
180
+ * onKeyDown={(k) => {
181
+ * if (k.upArrow) interaction.navigateUp()
182
+ * if (k.downArrow) interaction.navigateDown()
183
+ * }}
184
+ */
185
+ export declare function useChartInteraction(dataLength: number, options?: {
186
+ multiSelect?: boolean;
187
+ withTooltip?: boolean;
188
+ withZoom?: boolean;
189
+ withKeyboard?: boolean;
190
+ }): {
191
+ state: () => {
192
+ selection: {
193
+ selectedIndices: number[];
194
+ lastSelectedIndex: number | undefined;
195
+ };
196
+ hover: {
197
+ hoveredIndex: number | undefined;
198
+ position: {
199
+ x: number;
200
+ y: number;
201
+ } | undefined;
202
+ };
203
+ tooltip: {
204
+ visible: boolean;
205
+ content: string;
206
+ position: {
207
+ x: number;
208
+ y: number;
209
+ };
210
+ } | undefined;
211
+ zoom: {
212
+ level: number;
213
+ panX: number;
214
+ panY: number;
215
+ } | undefined;
216
+ isFocused: boolean;
217
+ };
218
+ isSelected: (index: number) => boolean;
219
+ hoveredIndex: () => number | undefined;
220
+ isFocused: () => boolean;
221
+ select: (index: number, addToSelection?: boolean) => void;
222
+ selectRange: (start: number, end: number) => void;
223
+ clearSelection: () => void;
224
+ hoverPoint: (index: number, pos?: {
225
+ x: number;
226
+ y: number;
227
+ }) => void;
228
+ unhover: () => void;
229
+ showTooltip: ((text: string, pos: {
230
+ x: number;
231
+ y: number;
232
+ }) => void) | undefined;
233
+ hideTooltip: (() => void) | undefined;
234
+ zoomIn: ((factor?: number) => void) | undefined;
235
+ zoomOut: ((factor?: number) => void) | undefined;
236
+ resetZoom: (() => void) | undefined;
237
+ pan: ((dx: number, dy: number) => void) | undefined;
238
+ navigateUp: () => void;
239
+ navigateDown: () => void;
240
+ navigateFirst: () => void;
241
+ navigateLast: () => void;
242
+ selectCurrent: () => void;
243
+ focus: () => void;
244
+ blur: () => void;
245
+ };
246
+ /**
247
+ * Hook for tracking data changes and animations
248
+ *
249
+ * @param data - Data array
250
+ * @param onDataChange - Callback when data changes
251
+ * @returns Data tracking utilities
252
+ *
253
+ * @example
254
+ * const { changedIndices, hasChanged } = useChartDataChange(data, (indices) => {
255
+ * // Call this manually when data changes to update tracking
256
+ * updateChangedIndices(indices)
257
+ * })
258
+ */
259
+ export declare function useChartDataChange<T>(data: T[], onDataChange?: (indices: number[]) => void): {
260
+ changedIndices: () => number[];
261
+ hasChanged: (index: number) => boolean;
262
+ updateChangedIndices: (previousData: T[]) => void;
263
+ };
264
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/molecules/data-viz/hooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,373 @@
1
+ /**
2
+ * Interactive Hooks for Data Visualization
3
+ *
4
+ * React-like hooks for managing interactive state in charts:
5
+ * - useChartSelection: Manage selected data points
6
+ * - useChartHover: Manage hover state
7
+ * - useChartKeyboard: Keyboard navigation
8
+ * - useChartTooltip: Tooltip positioning
9
+ * - useChartZoom: Zoom and pan
10
+ * - useChartInteraction: Combined interactions
11
+ */
12
+ import { createSignal, createMemo } from '../../primitives/signal.js';
13
+ // =============================================================================
14
+ // Hooks
15
+ // =============================================================================
16
+ /**
17
+ * Hook for managing data point selection
18
+ *
19
+ * @param dataLength - Number of data points
20
+ * @param multiSelect - Enable multi-select (default: false)
21
+ * @returns Selection state and handlers
22
+ *
23
+ * @example
24
+ * const { selectedIndices, select, clear } = useChartSelection(10)
25
+ * select(0) // Select first point
26
+ * select(2, true) // Multi-select with previous
27
+ * clear() // Clear selection
28
+ */
29
+ export function useChartSelection(dataLength, multiSelect = false) {
30
+ const [selectedIndices, setSelectedIndices] = createSignal([]);
31
+ const [lastSelectedIndex, setLastSelectedIndex] = createSignal(undefined);
32
+ const select = (index, addToSelection = multiSelect) => {
33
+ if (index < 0 || index >= dataLength)
34
+ return;
35
+ setLastSelectedIndex(index);
36
+ if (addToSelection && multiSelect) {
37
+ setSelectedIndices((prev) => {
38
+ if (prev.includes(index)) {
39
+ return prev.filter((i) => i !== index);
40
+ }
41
+ return [...prev, index];
42
+ });
43
+ }
44
+ else {
45
+ setSelectedIndices([index]);
46
+ }
47
+ };
48
+ const selectRange = (start, end) => {
49
+ const min = Math.min(start, end);
50
+ const max = Math.max(start, end);
51
+ const indices = Array.from({ length: max - min + 1 }, (_, i) => min + i);
52
+ setSelectedIndices(indices);
53
+ setLastSelectedIndex(end);
54
+ };
55
+ const clear = () => {
56
+ setSelectedIndices([]);
57
+ setLastSelectedIndex(undefined);
58
+ };
59
+ const isSelected = (index) => selectedIndices().includes(index);
60
+ return {
61
+ selectedIndices,
62
+ lastSelectedIndex,
63
+ select,
64
+ selectRange,
65
+ clear,
66
+ isSelected,
67
+ };
68
+ }
69
+ /**
70
+ * Hook for managing hover state
71
+ *
72
+ * @param dataLength - Number of data points
73
+ * @returns Hover state and handlers
74
+ *
75
+ * @example
76
+ * const { hoveredIndex, hover, unhover } = useChartHover(10)
77
+ * hover(2) // Hover over index 2
78
+ * unhover() // Clear hover
79
+ */
80
+ export function useChartHover(dataLength) {
81
+ const [hoveredIndex, setHoveredIndex] = createSignal(undefined);
82
+ const [position, setPosition] = createSignal(undefined);
83
+ const hover = (index, pos) => {
84
+ if (index < 0 || index >= dataLength)
85
+ return;
86
+ setHoveredIndex(index);
87
+ if (pos)
88
+ setPosition(pos);
89
+ };
90
+ const unhover = () => {
91
+ setHoveredIndex(undefined);
92
+ setPosition(undefined);
93
+ };
94
+ return {
95
+ hoveredIndex,
96
+ position,
97
+ hover,
98
+ unhover,
99
+ };
100
+ }
101
+ /**
102
+ * Hook for managing tooltip display
103
+ *
104
+ * @returns Tooltip state and handlers
105
+ *
106
+ * @example
107
+ * const { visible, show, hide } = useChartTooltip()
108
+ * show('Value: 42', { x: 10, y: 20 })
109
+ * hide()
110
+ */
111
+ export function useChartTooltip() {
112
+ const [visible, setVisible] = createSignal(false);
113
+ const [content, setContent] = createSignal('');
114
+ const [position, setPosition] = createSignal({ x: 0, y: 0 });
115
+ const show = (text, pos) => {
116
+ setContent(text);
117
+ setPosition(pos);
118
+ setVisible(true);
119
+ };
120
+ const hide = () => {
121
+ setVisible(false);
122
+ };
123
+ return {
124
+ visible,
125
+ content,
126
+ position,
127
+ show,
128
+ hide,
129
+ };
130
+ }
131
+ /**
132
+ * Hook for managing zoom and pan
133
+ *
134
+ * @param initialLevel - Initial zoom level (default: 1)
135
+ * @returns Zoom state and handlers
136
+ *
137
+ * @example
138
+ * const { level, panX, panY, zoom, pan, reset } = useChartZoom()
139
+ * zoom(1.2) // Zoom to 120%
140
+ * pan(10, 5) // Pan by 10, 5
141
+ * reset() // Reset zoom and pan
142
+ */
143
+ export function useChartZoom(initialLevel = 1) {
144
+ const [level, setLevel] = createSignal(initialLevel);
145
+ const [panX, setPanX] = createSignal(0);
146
+ const [panY, setPanY] = createSignal(0);
147
+ const zoom = (newLevel, minLevel = 0.1, maxLevel = 5) => {
148
+ const clamped = Math.max(minLevel, Math.min(maxLevel, newLevel));
149
+ setLevel(clamped);
150
+ };
151
+ const zoomIn = (factor = 1.2) => {
152
+ zoom(level() * factor);
153
+ };
154
+ const zoomOut = (factor = 0.8) => {
155
+ zoom(level() * factor);
156
+ };
157
+ const pan = (dx, dy) => {
158
+ setPanX((p) => p + dx);
159
+ setPanY((p) => p + dy);
160
+ };
161
+ const reset = () => {
162
+ setLevel(initialLevel);
163
+ setPanX(0);
164
+ setPanY(0);
165
+ };
166
+ return {
167
+ level,
168
+ panX,
169
+ panY,
170
+ zoom,
171
+ zoomIn,
172
+ zoomOut,
173
+ pan,
174
+ reset,
175
+ };
176
+ }
177
+ /**
178
+ * Hook for keyboard navigation in charts
179
+ *
180
+ * @param dataLength - Number of data points
181
+ * @param onSelect - Callback when item selected via keyboard
182
+ * @param onNavigate - Callback when navigation occurs
183
+ * @returns Navigation state and handlers
184
+ *
185
+ * @example
186
+ * const nav = useChartKeyboard(10, (idx) => select(idx))
187
+ * // User presses Up/Down arrows to navigate
188
+ */
189
+ export function useChartKeyboard(dataLength, onSelect, onNavigate) {
190
+ const [currentIndex, setCurrentIndex] = createSignal(0);
191
+ const [isNavigating, setIsNavigating] = createSignal(false);
192
+ const navigate = (direction) => {
193
+ let newIndex = currentIndex();
194
+ switch (direction) {
195
+ case 'up':
196
+ newIndex = Math.max(0, newIndex - 1);
197
+ break;
198
+ case 'down':
199
+ newIndex = Math.min(dataLength - 1, newIndex + 1);
200
+ break;
201
+ case 'first':
202
+ newIndex = 0;
203
+ break;
204
+ case 'last':
205
+ newIndex = dataLength - 1;
206
+ break;
207
+ }
208
+ setCurrentIndex(newIndex);
209
+ setIsNavigating(true);
210
+ onNavigate?.(newIndex);
211
+ };
212
+ const selectCurrent = () => {
213
+ onSelect?.(currentIndex());
214
+ };
215
+ return {
216
+ currentIndex,
217
+ isNavigating,
218
+ navigate,
219
+ selectCurrent,
220
+ };
221
+ }
222
+ /**
223
+ * Combined hook for full chart interactivity
224
+ *
225
+ * @param dataLength - Number of data points
226
+ * @param options - Configuration options
227
+ * @returns All interaction handlers
228
+ *
229
+ * @example
230
+ * const interaction = useChartInteraction(data.length, {
231
+ * multiSelect: true,
232
+ * withTooltip: true,
233
+ * withZoom: true,
234
+ * })
235
+ *
236
+ * // Use in event handlers
237
+ * onMouseMove={(e) => interaction.hover(index, { x: e.x, y: e.y })}
238
+ * onMouseLeave={() => interaction.unhover()}
239
+ * onClick={(e) => interaction.select(index)}
240
+ * onKeyDown={(k) => {
241
+ * if (k.upArrow) interaction.navigateUp()
242
+ * if (k.downArrow) interaction.navigateDown()
243
+ * }}
244
+ */
245
+ export function useChartInteraction(dataLength, options = {}) {
246
+ const { multiSelect = false, withTooltip = true, withZoom = true, withKeyboard = true } = options;
247
+ const selection = useChartSelection(dataLength, multiSelect);
248
+ const hover = useChartHover(dataLength);
249
+ const tooltip = withTooltip ? useChartTooltip() : null;
250
+ const zoom = withZoom ? useChartZoom() : null;
251
+ const keyboard = withKeyboard ? useChartKeyboard(dataLength) : null;
252
+ const [isFocused, setIsFocused] = createSignal(false);
253
+ const select = (index, addToSelection) => {
254
+ selection.select(index, addToSelection);
255
+ };
256
+ const hoverPoint = (index, pos) => {
257
+ hover.hover(index, pos);
258
+ };
259
+ const unhover = () => {
260
+ hover.unhover();
261
+ };
262
+ const navigateUp = () => {
263
+ keyboard?.navigate('up');
264
+ };
265
+ const navigateDown = () => {
266
+ keyboard?.navigate('down');
267
+ };
268
+ const navigateFirst = () => {
269
+ keyboard?.navigate('first');
270
+ };
271
+ const navigateLast = () => {
272
+ keyboard?.navigate('last');
273
+ };
274
+ const selectCurrent = () => {
275
+ keyboard?.selectCurrent();
276
+ };
277
+ const focus = () => setIsFocused(true);
278
+ const blur = () => setIsFocused(false);
279
+ // Memoize combined state
280
+ const state = createMemo(() => ({
281
+ selection: {
282
+ selectedIndices: selection.selectedIndices(),
283
+ lastSelectedIndex: selection.lastSelectedIndex?.(),
284
+ },
285
+ hover: {
286
+ hoveredIndex: hover.hoveredIndex(),
287
+ position: hover.position(),
288
+ },
289
+ tooltip: tooltip
290
+ ? {
291
+ visible: tooltip.visible(),
292
+ content: tooltip.content(),
293
+ position: tooltip.position(),
294
+ }
295
+ : undefined,
296
+ zoom: zoom
297
+ ? {
298
+ level: zoom.level(),
299
+ panX: zoom.panX(),
300
+ panY: zoom.panY(),
301
+ }
302
+ : undefined,
303
+ isFocused: isFocused(),
304
+ }));
305
+ return {
306
+ // State
307
+ state,
308
+ isSelected: selection.isSelected,
309
+ hoveredIndex: hover.hoveredIndex,
310
+ isFocused,
311
+ // Selection API
312
+ select,
313
+ selectRange: selection.selectRange,
314
+ clearSelection: selection.clear,
315
+ // Hover API
316
+ hoverPoint,
317
+ unhover,
318
+ // Tooltip API (if enabled)
319
+ showTooltip: tooltip?.show,
320
+ hideTooltip: tooltip?.hide,
321
+ // Zoom API (if enabled)
322
+ zoomIn: zoom?.zoomIn,
323
+ zoomOut: zoom?.zoomOut,
324
+ resetZoom: zoom?.reset,
325
+ pan: zoom?.pan,
326
+ // Keyboard API (if enabled)
327
+ navigateUp,
328
+ navigateDown,
329
+ navigateFirst,
330
+ navigateLast,
331
+ selectCurrent,
332
+ // Focus management
333
+ focus,
334
+ blur,
335
+ };
336
+ }
337
+ /**
338
+ * Hook for tracking data changes and animations
339
+ *
340
+ * @param data - Data array
341
+ * @param onDataChange - Callback when data changes
342
+ * @returns Data tracking utilities
343
+ *
344
+ * @example
345
+ * const { changedIndices, hasChanged } = useChartDataChange(data, (indices) => {
346
+ * // Call this manually when data changes to update tracking
347
+ * updateChangedIndices(indices)
348
+ * })
349
+ */
350
+ export function useChartDataChange(data, onDataChange) {
351
+ const [changedIndices, setChangedIndices] = createSignal([]);
352
+ // Manual update function to avoid infinite loops
353
+ const updateChangedIndices = (previousData) => {
354
+ const changed = [];
355
+ for (let i = 0; i < Math.max(data.length, previousData.length); i++) {
356
+ if (data[i] !== previousData[i]) {
357
+ changed.push(i);
358
+ }
359
+ }
360
+ setChangedIndices(changed);
361
+ onDataChange?.(changed);
362
+ };
363
+ const hasChanged = (index) => changedIndices().includes(index);
364
+ return {
365
+ changedIndices,
366
+ hasChanged,
367
+ updateChangedIndices,
368
+ };
369
+ }
370
+ // =============================================================================
371
+ // Type exports are at the top of the file
372
+ // =============================================================================
373
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/molecules/data-viz/hooks.ts"],"names":[],"mappings":"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"}
@@ -13,4 +13,18 @@ export { Gauge, LinearGauge, MeterGauge, ArcGauge, DialGauge, BatteryGauge, rend
13
13
  export type { GaugeStyle, GaugeZone, GaugeOptions, MeterOptions, BatteryGaugeOptions, } from './gauge.js';
14
14
  export { Heatmap, createHeatmap, ContributionGraph, CalendarHeatmap, CorrelationMatrix, COLOR_SCALES, } from './heatmap.js';
15
15
  export type { HeatmapCell, HeatmapData, ColorScale, HeatmapOptions, HeatmapState, HeatmapProps, ContributionData, ContributionGraphOptions, CalendarHeatmapOptions, CorrelationMatrixOptions, } from './heatmap.js';
16
+ export { Legend, createLegend, } from './legend.js';
17
+ export type { LegendItem, LegendPosition, LegendOptions, LegendState, LegendProps, } from './legend.js';
18
+ export { ScatterPlot, } from './scatter-plot.js';
19
+ export type { ScatterPoint, MarkerStyle, ScatterPlotOptions, ScatterPlotProps, } from './scatter-plot.js';
20
+ export { RadarChart, } from './radar-chart.js';
21
+ export type { RadarAxis, RadarSeries, RadarChartOptions, } from './radar-chart.js';
22
+ export { GanttChart, } from './gantt-chart.js';
23
+ export type { TaskStatus, GanttTask, GanttChartOptions, } from './gantt-chart.js';
24
+ export { TimeHeatmap, } from './time-heatmap.js';
25
+ export type { TimeHeatmapData, TimeGranularity, TimeHeatmapOptions, } from './time-heatmap.js';
26
+ export { formatAnnotationLabel, getAnnotationColor, } from './annotations.js';
27
+ export type { Annotation, AnnotationType, ThresholdAnnotation, RangeAnnotation, TextAnnotation, PointAnnotation, } from './annotations.js';
28
+ export { useChartSelection, useChartHover, useChartTooltip, useChartZoom, useChartKeyboard, useChartInteraction, useChartDataChange, } from './hooks.js';
29
+ export type { SelectionState, HoverState, TooltipState, ZoomState, ChartInteractionState, } from './hooks.js';
16
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecules/data-viz/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,WAAW,EACX,WAAW,GACZ,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,OAAO,EACP,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,SAAS,EACT,SAAS,EACT,sBAAsB,EACtB,sBAAsB,EACtB,aAAa,EACb,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,SAAS,EACT,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,KAAK,EACL,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,uBAAuB,EACvB,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecules/data-viz/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,WAAW,EACX,WAAW,GACZ,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,OAAO,EACP,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,SAAS,EACT,SAAS,EACT,sBAAsB,EACtB,sBAAsB,EACtB,aAAa,EACb,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,SAAS,EACT,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,KAAK,EACL,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,uBAAuB,EACvB,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,MAAM,EACN,YAAY,GACb,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,WAAW,GACZ,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,UAAU,GACX,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,SAAS,EACT,WAAW,EACX,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,UAAU,GACX,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,UAAU,EACV,SAAS,EACT,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,eAAe,EACf,eAAe,EACf,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,cAAc,EACd,UAAU,EACV,YAAY,EACZ,SAAS,EACT,qBAAqB,GACtB,MAAM,YAAY,CAAC"}