tuiuiu.js 0.1.1 → 0.1.4-next.64ff654

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 +67 -36
  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
@@ -1,578 +0,0 @@
1
- /**
2
- * LineChart Component - Multi-series Line Charts with Axes
3
- *
4
- * Renders line charts in the terminal using braille characters for
5
- * high resolution or ASCII for compatibility. Supports multiple
6
- * data series, axes, and legends.
7
- */
8
- import { Box, Text } from '../../primitives/index.js';
9
- import { getRenderMode } from '../../core/capabilities.js';
10
- // =============================================================================
11
- // Braille Character System
12
- // =============================================================================
13
- /**
14
- * Braille character is 2x4 dots (2 columns, 4 rows)
15
- * Dot positions:
16
- * 1 4
17
- * 2 5
18
- * 3 6
19
- * 7 8
20
- *
21
- * Unicode: 0x2800 + dot pattern (bit 0-7)
22
- */
23
- const BRAILLE_BASE = 0x2800;
24
- // Dot position to bit mapping
25
- const BRAILLE_DOTS = [
26
- [0, 0], // bit 0 -> (0, 0)
27
- [0, 1], // bit 1 -> (0, 1)
28
- [0, 2], // bit 2 -> (0, 2)
29
- [1, 0], // bit 3 -> (1, 0)
30
- [1, 1], // bit 4 -> (1, 1)
31
- [1, 2], // bit 5 -> (1, 2)
32
- [0, 3], // bit 6 -> (0, 3)
33
- [1, 3], // bit 7 -> (1, 3)
34
- ];
35
- /**
36
- * Canvas for drawing with braille characters
37
- */
38
- class BrailleCanvas {
39
- pixels;
40
- width;
41
- height;
42
- constructor(charWidth, charHeight) {
43
- // Each braille char is 2x4 pixels
44
- this.width = charWidth * 2;
45
- this.height = charHeight * 4;
46
- this.pixels = Array(this.height)
47
- .fill(null)
48
- .map(() => Array(this.width).fill(false));
49
- }
50
- /**
51
- * Set a pixel at (x, y)
52
- */
53
- setPixel(x, y) {
54
- const px = Math.round(x);
55
- const py = Math.round(y);
56
- if (px >= 0 && px < this.width && py >= 0 && py < this.height) {
57
- this.pixels[py][px] = true;
58
- }
59
- }
60
- /**
61
- * Draw a line using Bresenham's algorithm
62
- */
63
- drawLine(x0, y0, x1, y1) {
64
- x0 = Math.round(x0);
65
- y0 = Math.round(y0);
66
- x1 = Math.round(x1);
67
- y1 = Math.round(y1);
68
- const dx = Math.abs(x1 - x0);
69
- const dy = Math.abs(y1 - y0);
70
- const sx = x0 < x1 ? 1 : -1;
71
- const sy = y0 < y1 ? 1 : -1;
72
- let err = dx - dy;
73
- while (true) {
74
- this.setPixel(x0, y0);
75
- if (x0 === x1 && y0 === y1)
76
- break;
77
- const e2 = 2 * err;
78
- if (e2 > -dy) {
79
- err -= dy;
80
- x0 += sx;
81
- }
82
- if (e2 < dx) {
83
- err += dx;
84
- y0 += sy;
85
- }
86
- }
87
- }
88
- /**
89
- * Convert canvas to braille string
90
- */
91
- render() {
92
- const charWidth = this.width / 2;
93
- const charHeight = this.height / 4;
94
- const lines = [];
95
- for (let cy = 0; cy < charHeight; cy++) {
96
- let line = '';
97
- for (let cx = 0; cx < charWidth; cx++) {
98
- let pattern = 0;
99
- for (let bit = 0; bit < 8; bit++) {
100
- const [dx, dy] = BRAILLE_DOTS[bit];
101
- const px = cx * 2 + dx;
102
- const py = cy * 4 + dy;
103
- if (this.pixels[py]?.[px]) {
104
- pattern |= 1 << bit;
105
- }
106
- }
107
- line += String.fromCharCode(BRAILLE_BASE + pattern);
108
- }
109
- lines.push(line);
110
- }
111
- return lines;
112
- }
113
- get pixelWidth() {
114
- return this.width;
115
- }
116
- get pixelHeight() {
117
- return this.height;
118
- }
119
- }
120
- /**
121
- * ASCII canvas for non-Unicode terminals
122
- */
123
- class AsciiCanvas {
124
- pixels;
125
- width;
126
- height;
127
- constructor(width, height) {
128
- this.width = width;
129
- this.height = height;
130
- this.pixels = Array(height)
131
- .fill(null)
132
- .map(() => Array(width).fill(' '));
133
- }
134
- setPixel(x, y, char = '*') {
135
- const px = Math.round(x);
136
- const py = Math.round(y);
137
- if (px >= 0 && px < this.width && py >= 0 && py < this.height) {
138
- this.pixels[py][px] = char;
139
- }
140
- }
141
- drawLine(x0, y0, x1, y1, char = '*') {
142
- x0 = Math.round(x0);
143
- y0 = Math.round(y0);
144
- x1 = Math.round(x1);
145
- y1 = Math.round(y1);
146
- const dx = Math.abs(x1 - x0);
147
- const dy = Math.abs(y1 - y0);
148
- const sx = x0 < x1 ? 1 : -1;
149
- const sy = y0 < y1 ? 1 : -1;
150
- let err = dx - dy;
151
- while (true) {
152
- this.setPixel(x0, y0, char);
153
- if (x0 === x1 && y0 === y1)
154
- break;
155
- const e2 = 2 * err;
156
- if (e2 > -dy) {
157
- err -= dy;
158
- x0 += sx;
159
- }
160
- if (e2 < dx) {
161
- err += dx;
162
- y0 += sy;
163
- }
164
- }
165
- }
166
- render() {
167
- return this.pixels.map((row) => row.join(''));
168
- }
169
- get pixelWidth() {
170
- return this.width;
171
- }
172
- get pixelHeight() {
173
- return this.height;
174
- }
175
- }
176
- // =============================================================================
177
- // Data Processing
178
- // =============================================================================
179
- /**
180
- * Normalize data points to array format
181
- */
182
- function normalizeData(data) {
183
- if (data.length === 0)
184
- return [];
185
- if (typeof data[0] === 'number') {
186
- return data.map((y, x) => ({ x, y }));
187
- }
188
- return data;
189
- }
190
- /**
191
- * Calculate bounds across all series
192
- */
193
- function calculateBounds(series, xAxis, yAxis) {
194
- let xMin = Infinity;
195
- let xMax = -Infinity;
196
- let yMin = Infinity;
197
- let yMax = -Infinity;
198
- for (const s of series) {
199
- const points = normalizeData(s.data);
200
- for (const p of points) {
201
- if (isFinite(p.x)) {
202
- xMin = Math.min(xMin, p.x);
203
- xMax = Math.max(xMax, p.x);
204
- }
205
- if (isFinite(p.y)) {
206
- yMin = Math.min(yMin, p.y);
207
- yMax = Math.max(yMax, p.y);
208
- }
209
- }
210
- }
211
- // Apply axis overrides
212
- if (xAxis?.min !== undefined)
213
- xMin = xAxis.min;
214
- if (xAxis?.max !== undefined)
215
- xMax = xAxis.max;
216
- if (yAxis?.min !== undefined)
217
- yMin = yAxis.min;
218
- if (yAxis?.max !== undefined)
219
- yMax = yAxis.max;
220
- // Handle edge cases
221
- if (!isFinite(xMin))
222
- xMin = 0;
223
- if (!isFinite(xMax))
224
- xMax = 1;
225
- if (!isFinite(yMin))
226
- yMin = 0;
227
- if (!isFinite(yMax))
228
- yMax = 1;
229
- if (xMin === xMax)
230
- xMax = xMin + 1;
231
- if (yMin === yMax)
232
- yMax = yMin + 1;
233
- return { xMin, xMax, yMin, yMax };
234
- }
235
- /**
236
- * Format tick value
237
- */
238
- function formatTick(value, formatter) {
239
- if (formatter)
240
- return formatter(value);
241
- if (Number.isInteger(value))
242
- return String(value);
243
- if (Math.abs(value) < 0.01 || Math.abs(value) >= 1000) {
244
- return value.toExponential(1);
245
- }
246
- return value.toFixed(2);
247
- }
248
- // =============================================================================
249
- // LineChart Rendering
250
- // =============================================================================
251
- /**
252
- * Render line chart as string array
253
- */
254
- export function renderLineChartStrings(series, options = {}) {
255
- const { width = 60, height = 15, xAxis = {}, yAxis = {}, showGrid = false, } = options;
256
- if (series.length === 0 || series.every((s) => s.data.length === 0)) {
257
- return ['No data'];
258
- }
259
- const isAscii = getRenderMode() === 'ascii';
260
- const bounds = calculateBounds(series, xAxis, yAxis);
261
- // Create canvas
262
- const canvas = isAscii
263
- ? new AsciiCanvas(width, height)
264
- : new BrailleCanvas(width, height);
265
- const pixelWidth = canvas.pixelWidth;
266
- const pixelHeight = canvas.pixelHeight;
267
- // Draw grid if enabled
268
- if (showGrid && !isAscii) {
269
- const gridChar = '·';
270
- const xTicks = xAxis.ticks ?? 5;
271
- const yTicks = yAxis.ticks ?? 5;
272
- for (let i = 0; i <= xTicks; i++) {
273
- const x = Math.round((i / xTicks) * (pixelWidth - 1));
274
- for (let j = 0; j <= yTicks; j++) {
275
- const y = Math.round((j / yTicks) * (pixelHeight - 1));
276
- canvas.setPixel(x, y);
277
- }
278
- }
279
- }
280
- // Draw each series
281
- for (const s of series) {
282
- const points = normalizeData(s.data);
283
- if (points.length < 2)
284
- continue;
285
- // Map data points to canvas coordinates
286
- const mapped = points.map((p) => ({
287
- x: ((p.x - bounds.xMin) / (bounds.xMax - bounds.xMin)) * (pixelWidth - 1),
288
- y: pixelHeight -
289
- 1 -
290
- ((p.y - bounds.yMin) / (bounds.yMax - bounds.yMin)) * (pixelHeight - 1),
291
- }));
292
- // Draw lines between consecutive points
293
- for (let i = 0; i < mapped.length - 1; i++) {
294
- const p0 = mapped[i];
295
- const p1 = mapped[i + 1];
296
- canvas.drawLine(p0.x, p0.y, p1.x, p1.y);
297
- }
298
- }
299
- return canvas.render();
300
- }
301
- // =============================================================================
302
- // LineChart Component
303
- // =============================================================================
304
- /**
305
- * LineChart - Multi-series line chart with axes
306
- *
307
- * @example
308
- * // Simple line chart
309
- * LineChart({
310
- * series: [
311
- * { name: 'Sales', data: [10, 25, 30, 45, 60, 55, 70], color: 'cyan' },
312
- * ],
313
- * width: 50,
314
- * height: 10,
315
- * })
316
- *
317
- * @example
318
- * // Multi-series with custom axes
319
- * LineChart({
320
- * series: [
321
- * { name: 'CPU', data: cpuHistory, color: 'green' },
322
- * { name: 'Memory', data: memHistory, color: 'yellow' },
323
- * ],
324
- * yAxis: { min: 0, max: 100, label: '%' },
325
- * showLegend: true,
326
- * })
327
- */
328
- export function LineChart(options) {
329
- const { series, width = 60, height = 15, xAxis = {}, yAxis = {}, showLegend, legendPosition = 'bottom', showGrid = false, gridColor = 'gray', title, titleColor = 'white', borderStyle = 'none', } = options;
330
- const defaultColors = [
331
- 'cyan',
332
- 'green',
333
- 'yellow',
334
- 'magenta',
335
- 'blue',
336
- 'red',
337
- ];
338
- if (series.length === 0 || series.every((s) => s.data.length === 0)) {
339
- return Text({ color: 'gray', dim: true }, 'No data');
340
- }
341
- const bounds = calculateBounds(series, xAxis, yAxis);
342
- // Render chart canvas
343
- const chartLines = renderLineChartStrings(series, {
344
- width,
345
- height,
346
- xAxis,
347
- yAxis,
348
- showGrid,
349
- });
350
- // Build Y-axis labels
351
- const yTicks = yAxis.ticks ?? 5;
352
- const yLabelWidth = 6;
353
- const yLabels = [];
354
- for (let i = 0; i <= yTicks; i++) {
355
- const value = bounds.yMax - (i / yTicks) * (bounds.yMax - bounds.yMin);
356
- const label = formatTick(value, yAxis.formatter).padStart(yLabelWidth);
357
- const rowIndex = Math.round((i / yTicks) * (chartLines.length - 1));
358
- if (i === 0 || i === yTicks || i === Math.floor(yTicks / 2)) {
359
- yLabels.push(Box({ height: i === 0 ? 1 : Math.round(chartLines.length / yTicks) }, Text({ color: 'gray', dim: true }, label)));
360
- }
361
- }
362
- // Build X-axis labels
363
- const xTicks = xAxis.ticks ?? 5;
364
- const xLabels = [];
365
- for (let i = 0; i <= xTicks; i++) {
366
- const value = bounds.xMin + (i / xTicks) * (bounds.xMax - bounds.xMin);
367
- const label = formatTick(value, xAxis.formatter);
368
- const spacing = Math.floor(width / xTicks);
369
- xLabels.push(Box({ width: i === xTicks ? undefined : spacing }, Text({ color: 'gray', dim: true }, i === 0 ? label : label.padStart(spacing))));
370
- }
371
- // Render chart lines with colors
372
- const chartNodes = chartLines.map((line, lineIdx) => {
373
- // For braille mode, we need to color by series
374
- // For simplicity, use first series color for now
375
- const primaryColor = series[0]?.color ?? defaultColors[0];
376
- return Text({ color: primaryColor }, line);
377
- });
378
- // Build legend
379
- const shouldShowLegend = showLegend ?? series.length > 1;
380
- let legendNode = null;
381
- if (shouldShowLegend) {
382
- const legendItems = series.map((s, i) => {
383
- const color = s.color ?? defaultColors[i % defaultColors.length];
384
- return Box({ flexDirection: 'row', gap: 1 }, Text({ color }, '●'), Text({ color: 'gray' }, s.name));
385
- });
386
- legendNode = Box({
387
- flexDirection: legendPosition === 'right' ? 'column' : 'row',
388
- gap: legendPosition === 'right' ? 0 : 2,
389
- marginLeft: legendPosition === 'right' ? 2 : 0,
390
- marginTop: legendPosition === 'bottom' ? 1 : 0,
391
- marginBottom: legendPosition === 'top' ? 1 : 0,
392
- }, ...legendItems);
393
- }
394
- // Assemble chart
395
- const chartArea = Box({ flexDirection: 'column' }, ...chartNodes);
396
- const chartWithYAxis = Box({ flexDirection: 'row' }, yAxis.show !== false
397
- ? Box({ flexDirection: 'column', marginRight: 1 }, ...yLabels.slice(0, 3))
398
- : null, chartArea, legendPosition === 'right' ? legendNode : null);
399
- const parts = [];
400
- // Title
401
- if (title) {
402
- parts.push(Box({ marginBottom: 1 }, Text({ color: titleColor, bold: true }, title)));
403
- }
404
- // Legend top
405
- if (legendPosition === 'top' && legendNode) {
406
- parts.push(legendNode);
407
- }
408
- // Chart with Y axis
409
- parts.push(chartWithYAxis);
410
- // X-axis labels
411
- if (xAxis.show !== false) {
412
- parts.push(Box({ flexDirection: 'row', marginLeft: yAxis.show !== false ? yLabelWidth + 1 : 0 }, ...xLabels));
413
- }
414
- // Legend bottom
415
- if (legendPosition === 'bottom' && legendNode) {
416
- parts.push(legendNode);
417
- }
418
- return Box({ flexDirection: 'column' }, ...parts);
419
- }
420
- /**
421
- * AreaChart - Filled area chart (single series)
422
- *
423
- * @example
424
- * AreaChart({
425
- * data: [10, 25, 30, 45, 60, 55, 70],
426
- * color: 'cyan',
427
- * width: 50,
428
- * height: 10,
429
- * })
430
- */
431
- export function AreaChart(options) {
432
- const { data, color = 'cyan', name = 'Data', ...rest } = options;
433
- // Area chart is just a line chart with fill - for terminal, same visual
434
- return LineChart({
435
- ...rest,
436
- series: [{ name, data, color }],
437
- showLegend: false,
438
- });
439
- }
440
- // =============================================================================
441
- // Multi-Line Renderer (with distinct colors per series)
442
- // =============================================================================
443
- /**
444
- * Render multi-series line chart with colored output
445
- */
446
- export function renderMultiSeriesChart(series, options = {}) {
447
- const { width = 60, height = 15, xAxis = {}, yAxis = {} } = options;
448
- const defaultColors = [
449
- 'cyan',
450
- 'green',
451
- 'yellow',
452
- 'magenta',
453
- 'blue',
454
- 'red',
455
- ];
456
- const bounds = calculateBounds(series, xAxis, yAxis);
457
- const isAscii = getRenderMode() === 'ascii';
458
- // For colored multi-series, we track which series owns each pixel
459
- const pixelWidth = isAscii ? width : width * 2;
460
- const pixelHeight = isAscii ? height : height * 4;
461
- // Track series index for each pixel
462
- const pixelOwner = Array(pixelHeight)
463
- .fill(null)
464
- .map(() => Array(pixelWidth).fill(null));
465
- // Draw each series
466
- series.forEach((s, seriesIdx) => {
467
- const points = normalizeData(s.data);
468
- if (points.length < 2)
469
- return;
470
- const mapped = points.map((p) => ({
471
- x: ((p.x - bounds.xMin) / (bounds.xMax - bounds.xMin)) * (pixelWidth - 1),
472
- y: pixelHeight -
473
- 1 -
474
- ((p.y - bounds.yMin) / (bounds.yMax - bounds.yMin)) * (pixelHeight - 1),
475
- }));
476
- for (let i = 0; i < mapped.length - 1; i++) {
477
- const p0 = mapped[i];
478
- const p1 = mapped[i + 1];
479
- // Bresenham's line
480
- let x0 = Math.round(p0.x);
481
- let y0 = Math.round(p0.y);
482
- const x1 = Math.round(p1.x);
483
- const y1 = Math.round(p1.y);
484
- const dx = Math.abs(x1 - x0);
485
- const dy = Math.abs(y1 - y0);
486
- const sx = x0 < x1 ? 1 : -1;
487
- const sy = y0 < y1 ? 1 : -1;
488
- let err = dx - dy;
489
- while (true) {
490
- if (x0 >= 0 && x0 < pixelWidth && y0 >= 0 && y0 < pixelHeight) {
491
- pixelOwner[y0][x0] = seriesIdx;
492
- }
493
- if (x0 === x1 && y0 === y1)
494
- break;
495
- const e2 = 2 * err;
496
- if (e2 > -dy) {
497
- err -= dy;
498
- x0 += sx;
499
- }
500
- if (e2 < dx) {
501
- err += dx;
502
- y0 += sy;
503
- }
504
- }
505
- }
506
- });
507
- // Render with color info
508
- if (isAscii) {
509
- const lines = [];
510
- const colors = [];
511
- for (let y = 0; y < height; y++) {
512
- let line = '';
513
- const lineColors = [];
514
- for (let x = 0; x < width; x++) {
515
- const owner = pixelOwner[y]?.[x];
516
- if (owner !== null && owner !== undefined) {
517
- line += '*';
518
- lineColors.push(series[owner]?.color ?? defaultColors[owner % defaultColors.length]);
519
- }
520
- else {
521
- line += ' ';
522
- lineColors.push(undefined);
523
- }
524
- }
525
- lines.push(line);
526
- colors.push(lineColors);
527
- }
528
- return { lines, colors };
529
- }
530
- // Braille mode - colors per character
531
- const charWidth = width;
532
- const charHeight = height;
533
- const lines = [];
534
- const colors = [];
535
- for (let cy = 0; cy < charHeight; cy++) {
536
- let line = '';
537
- const lineColors = [];
538
- for (let cx = 0; cx < charWidth; cx++) {
539
- let pattern = 0;
540
- let dominantSeries = null;
541
- const seriesCounts = new Map();
542
- for (let bit = 0; bit < 8; bit++) {
543
- const [dx, dy] = BRAILLE_DOTS[bit];
544
- const px = cx * 2 + dx;
545
- const py = cy * 4 + dy;
546
- const owner = pixelOwner[py]?.[px];
547
- if (owner !== null && owner !== undefined) {
548
- pattern |= 1 << bit;
549
- seriesCounts.set(owner, (seriesCounts.get(owner) ?? 0) + 1);
550
- }
551
- }
552
- // Find dominant series for this character
553
- let maxCount = 0;
554
- for (const [seriesIdx, count] of seriesCounts) {
555
- if (count > maxCount) {
556
- maxCount = count;
557
- dominantSeries = seriesIdx;
558
- }
559
- }
560
- line += String.fromCharCode(BRAILLE_BASE + pattern);
561
- if (dominantSeries !== null) {
562
- lineColors.push(series[dominantSeries]?.color ??
563
- defaultColors[dominantSeries % defaultColors.length]);
564
- }
565
- else {
566
- lineColors.push(undefined);
567
- }
568
- }
569
- lines.push(line);
570
- colors.push(lineColors);
571
- }
572
- return { lines, colors };
573
- }
574
- // =============================================================================
575
- // Exports
576
- // =============================================================================
577
- export { BrailleCanvas, AsciiCanvas };
578
- //# sourceMappingURL=line-chart.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"line-chart.js","sourceRoot":"","sources":["../../../src/components/data-viz/line-chart.ts"],"names":[],"mappings":"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"}