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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-data.d.ts","sourceRoot":"","sources":["../../src/mcp/docs-data.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAMlE,eAAO,MAAM,UAAU,EAAE,YAAY,EAwEpC,CAAC;AAMF,eAAO,MAAM,KAAK,EAAE,YAAY,EAwF/B,CAAC;AAMF,eAAO,MAAM,SAAS,EAAE,YAAY,EAyDnC,CAAC;AAMF,eAAO,MAAM,OAAO,EAAE,YAAY,EAyDjC,CAAC;AAMF,eAAO,MAAM,SAAS,EAAE,YAAY,EA2CnC,CAAC;AAMF,eAAO,MAAM,OAAO,EAAE,YAAY,EA0EjC,CAAC;AAMF,eAAO,MAAM,KAAK,EAAE,OAAO,EA+F1B,CAAC;AAMF,eAAO,MAAM,WAAW,EAAE,YAqBzB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,QAAQ,EASrC,CAAC;AAMF,eAAO,MAAM,OAAO,EAAE,OAAO,EAiD5B,CAAC;AAMF,eAAO,MAAM,aAAa,EAAE,YAAY,EAQvC,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,OAAO,EAG7B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,QAAQ,EAAoB,CAAC;AAGrD,eAAO,MAAM,UAAU;;;;;;;;;CAStB,CAAC"}
@@ -0,0 +1,637 @@
1
+ /**
2
+ * Tuiuiu Documentation Data
3
+ *
4
+ * Structured documentation for all components, hooks, and utilities.
5
+ * This data is served via MCP to AI assistants.
6
+ */
7
+ // =============================================================================
8
+ // Primitives
9
+ // =============================================================================
10
+ export const primitives = [
11
+ {
12
+ name: 'Box',
13
+ category: 'primitives',
14
+ description: 'Flexbox container for layout. The fundamental building block for all layouts.',
15
+ props: [
16
+ { name: 'flexDirection', type: "'row' | 'column'", required: false, default: "'row'", description: 'Main axis direction' },
17
+ { name: 'justifyContent', type: "'flex-start' | 'center' | 'flex-end' | 'space-between' | 'space-around'", required: false, default: "'flex-start'", description: 'Alignment along main axis' },
18
+ { name: 'alignItems', type: "'flex-start' | 'center' | 'flex-end' | 'stretch'", required: false, default: "'stretch'", description: 'Alignment along cross axis' },
19
+ { name: 'width', type: "number | string", required: false, description: 'Width in columns or percentage' },
20
+ { name: 'height', type: "number | string", required: false, description: 'Height in rows or percentage' },
21
+ { name: 'padding', type: "number", required: false, default: '0', description: 'Padding on all sides' },
22
+ { name: 'paddingX', type: "number", required: false, description: 'Horizontal padding' },
23
+ { name: 'paddingY', type: "number", required: false, description: 'Vertical padding' },
24
+ { name: 'margin', type: "number", required: false, default: '0', description: 'Margin on all sides' },
25
+ { name: 'gap', type: "number", required: false, description: 'Gap between children' },
26
+ { name: 'flexGrow', type: "number", required: false, description: 'Flex grow factor' },
27
+ { name: 'flexShrink', type: "number", required: false, description: 'Flex shrink factor' },
28
+ { name: 'borderStyle', type: "'single' | 'double' | 'round' | 'bold' | 'none'", required: false, description: 'Border style' },
29
+ { name: 'borderColor', type: "ColorValue", required: false, description: 'Border color' },
30
+ { name: 'backgroundColor', type: "ColorValue", required: false, description: 'Background color' },
31
+ ],
32
+ examples: [
33
+ `Box({ flexDirection: 'column', padding: 1 },\n Text({}, 'Hello'),\n Text({}, 'World')\n)`,
34
+ `Box({ borderStyle: 'round', borderColor: 'cyan', padding: 2 },\n Text({ bold: true }, 'Bordered Box')\n)`,
35
+ ],
36
+ },
37
+ {
38
+ name: 'Text',
39
+ category: 'primitives',
40
+ description: 'Text element with styling support. Renders styled text content.',
41
+ props: [
42
+ { name: 'color', type: "ColorValue", required: false, description: 'Text color (named, hex, or rgb)' },
43
+ { name: 'backgroundColor', type: "ColorValue", required: false, description: 'Background color' },
44
+ { name: 'bold', type: "boolean", required: false, default: 'false', description: 'Bold text' },
45
+ { name: 'italic', type: "boolean", required: false, default: 'false', description: 'Italic text' },
46
+ { name: 'underline', type: "boolean", required: false, default: 'false', description: 'Underlined text' },
47
+ { name: 'strikethrough', type: "boolean", required: false, default: 'false', description: 'Strikethrough text' },
48
+ { name: 'dim', type: "boolean", required: false, default: 'false', description: 'Dimmed text' },
49
+ { name: 'inverse', type: "boolean", required: false, default: 'false', description: 'Inverted colors' },
50
+ ],
51
+ examples: [
52
+ `Text({ color: 'cyan', bold: true }, 'Hello World')`,
53
+ `Text({ color: '#ff6b6b', backgroundColor: 'black' }, 'Custom colors')`,
54
+ ],
55
+ },
56
+ {
57
+ name: 'Spacer',
58
+ category: 'primitives',
59
+ description: 'Flexible spacer that expands to fill available space.',
60
+ props: [
61
+ { name: 'x', type: "number", required: false, description: 'Fixed horizontal size' },
62
+ { name: 'y', type: "number", required: false, description: 'Fixed vertical size' },
63
+ ],
64
+ examples: [
65
+ `Box({ flexDirection: 'row' },\n Text({}, 'Left'),\n Spacer(),\n Text({}, 'Right')\n)`,
66
+ ],
67
+ },
68
+ {
69
+ name: 'Divider',
70
+ category: 'primitives',
71
+ description: 'Horizontal or vertical divider line.',
72
+ props: [
73
+ { name: 'direction', type: "'horizontal' | 'vertical'", required: false, default: "'horizontal'", description: 'Divider direction' },
74
+ { name: 'char', type: "string", required: false, default: "'─'", description: 'Character to use for the line' },
75
+ { name: 'color', type: "ColorValue", required: false, description: 'Line color' },
76
+ ],
77
+ examples: [
78
+ `Divider({ color: 'gray' })`,
79
+ `Divider({ direction: 'vertical', char: '│' })`,
80
+ ],
81
+ },
82
+ ];
83
+ // =============================================================================
84
+ // Atoms
85
+ // =============================================================================
86
+ export const atoms = [
87
+ {
88
+ name: 'Button',
89
+ category: 'atoms',
90
+ description: 'Interactive button with multiple variants and states.',
91
+ props: [
92
+ { name: 'label', type: "string", required: true, description: 'Button label text' },
93
+ { name: 'variant', type: "'primary' | 'secondary' | 'danger' | 'ghost'", required: false, default: "'primary'", description: 'Visual variant' },
94
+ { name: 'disabled', type: "boolean", required: false, default: 'false', description: 'Disable interaction' },
95
+ { name: 'focused', type: "boolean", required: false, default: 'false', description: 'Focus state' },
96
+ { name: 'onPress', type: "() => void", required: false, description: 'Press handler' },
97
+ { name: 'width', type: "number", required: false, description: 'Fixed width' },
98
+ ],
99
+ examples: [
100
+ `Button({ label: 'Submit', variant: 'primary', onPress: () => console.log('clicked') })`,
101
+ `Button({ label: 'Cancel', variant: 'ghost' })`,
102
+ ],
103
+ },
104
+ {
105
+ name: 'TextInput',
106
+ category: 'atoms',
107
+ description: 'Single-line text input field with cursor support.',
108
+ props: [
109
+ { name: 'value', type: "string", required: true, description: 'Current value' },
110
+ { name: 'onChange', type: "(value: string) => void", required: true, description: 'Change handler' },
111
+ { name: 'placeholder', type: "string", required: false, description: 'Placeholder text' },
112
+ { name: 'focused', type: "boolean", required: false, default: 'false', description: 'Focus state' },
113
+ { name: 'password', type: "boolean", required: false, default: 'false', description: 'Hide input as password' },
114
+ { name: 'width', type: "number", required: false, default: '20', description: 'Input width' },
115
+ ],
116
+ examples: [
117
+ `TextInput({ value: name(), onChange: setName, placeholder: 'Enter name' })`,
118
+ ],
119
+ },
120
+ {
121
+ name: 'Checkbox',
122
+ category: 'atoms',
123
+ description: 'Checkbox with label.',
124
+ props: [
125
+ { name: 'checked', type: "boolean", required: true, description: 'Checked state' },
126
+ { name: 'onChange', type: "(checked: boolean) => void", required: false, description: 'Change handler' },
127
+ { name: 'label', type: "string", required: false, description: 'Label text' },
128
+ { name: 'disabled', type: "boolean", required: false, default: 'false', description: 'Disable interaction' },
129
+ ],
130
+ examples: [
131
+ `Checkbox({ checked: agreed(), onChange: setAgreed, label: 'I agree to terms' })`,
132
+ ],
133
+ },
134
+ {
135
+ name: 'ProgressBar',
136
+ category: 'atoms',
137
+ description: 'Progress indicator with multiple styles.',
138
+ props: [
139
+ { name: 'value', type: "number", required: true, description: 'Progress value (0-100)' },
140
+ { name: 'width', type: "number", required: false, default: '20', description: 'Bar width' },
141
+ { name: 'showPercentage', type: "boolean", required: false, default: 'false', description: 'Show percentage text' },
142
+ { name: 'color', type: "ColorValue", required: false, default: "'cyan'", description: 'Fill color' },
143
+ { name: 'style', type: "'block' | 'ascii' | 'gradient'", required: false, default: "'block'", description: 'Visual style' },
144
+ ],
145
+ examples: [
146
+ `ProgressBar({ value: 75, width: 30, showPercentage: true })`,
147
+ ],
148
+ },
149
+ {
150
+ name: 'Spinner',
151
+ category: 'atoms',
152
+ description: 'Animated loading spinner.',
153
+ props: [
154
+ { name: 'style', type: "'dots' | 'line' | 'circle' | 'bounce' | 'pong'", required: false, default: "'dots'", description: 'Animation style' },
155
+ { name: 'color', type: "ColorValue", required: false, default: "'cyan'", description: 'Spinner color' },
156
+ { name: 'label', type: "string", required: false, description: 'Loading label' },
157
+ ],
158
+ examples: [
159
+ `Spinner({ style: 'dots', label: 'Loading...' })`,
160
+ ],
161
+ },
162
+ {
163
+ name: 'Badge',
164
+ category: 'atoms',
165
+ description: 'Status badge or label.',
166
+ props: [
167
+ { name: 'text', type: "string", required: true, description: 'Badge text' },
168
+ { name: 'variant', type: "'default' | 'success' | 'warning' | 'error' | 'info'", required: false, default: "'default'", description: 'Color variant' },
169
+ ],
170
+ examples: [
171
+ `Badge({ text: 'NEW', variant: 'success' })`,
172
+ ],
173
+ },
174
+ ];
175
+ // =============================================================================
176
+ // Molecules
177
+ // =============================================================================
178
+ export const molecules = [
179
+ {
180
+ name: 'Select',
181
+ category: 'molecules',
182
+ description: 'Dropdown selection with keyboard navigation.',
183
+ props: [
184
+ { name: 'options', type: "SelectOption[]", required: true, description: 'Array of { value, label } options' },
185
+ { name: 'value', type: "string", required: true, description: 'Selected value' },
186
+ { name: 'onChange', type: "(value: string) => void", required: true, description: 'Change handler' },
187
+ { name: 'placeholder', type: "string", required: false, description: 'Placeholder text' },
188
+ { name: 'focused', type: "boolean", required: false, default: 'false', description: 'Focus state' },
189
+ ],
190
+ examples: [
191
+ `Select({\n options: [{ value: 'a', label: 'Option A' }, { value: 'b', label: 'Option B' }],\n value: selected(),\n onChange: setSelected\n})`,
192
+ ],
193
+ },
194
+ {
195
+ name: 'Table',
196
+ category: 'molecules',
197
+ description: 'Data table with headers and rows.',
198
+ props: [
199
+ { name: 'columns', type: "TableColumn[]", required: true, description: 'Column definitions { key, header, width }' },
200
+ { name: 'data', type: "Record<string, unknown>[]", required: true, description: 'Row data' },
201
+ { name: 'borderStyle', type: "BorderStyle", required: false, default: "'single'", description: 'Table border style' },
202
+ ],
203
+ examples: [
204
+ `Table({\n columns: [\n { key: 'name', header: 'Name', width: 20 },\n { key: 'age', header: 'Age', width: 5 }\n ],\n data: [{ name: 'Alice', age: 30 }]\n})`,
205
+ ],
206
+ },
207
+ {
208
+ name: 'Tabs',
209
+ category: 'molecules',
210
+ description: 'Tabbed navigation container.',
211
+ props: [
212
+ { name: 'tabs', type: "Tab[]", required: true, description: 'Array of { id, label, content } tabs' },
213
+ { name: 'activeTab', type: "string", required: true, description: 'Active tab id' },
214
+ { name: 'onChange', type: "(id: string) => void", required: true, description: 'Tab change handler' },
215
+ ],
216
+ examples: [
217
+ `Tabs({\n tabs: [\n { id: 'home', label: 'Home', content: HomePanel },\n { id: 'settings', label: 'Settings', content: SettingsPanel }\n ],\n activeTab: tab(),\n onChange: setTab\n})`,
218
+ ],
219
+ },
220
+ {
221
+ name: 'Modal',
222
+ category: 'molecules',
223
+ description: 'Modal dialog overlay.',
224
+ props: [
225
+ { name: 'title', type: "string", required: false, description: 'Modal title' },
226
+ { name: 'visible', type: "boolean", required: true, description: 'Visibility state' },
227
+ { name: 'onClose', type: "() => void", required: false, description: 'Close handler' },
228
+ { name: 'width', type: "number", required: false, default: '50', description: 'Modal width' },
229
+ { name: 'children', type: "VNode", required: true, description: 'Modal content' },
230
+ ],
231
+ examples: [
232
+ `Modal({\n title: 'Confirm',\n visible: showModal(),\n onClose: () => setShowModal(false)\n}, Text({}, 'Are you sure?'))`,
233
+ ],
234
+ },
235
+ ];
236
+ // =============================================================================
237
+ // Data Visualization
238
+ // =============================================================================
239
+ export const dataViz = [
240
+ {
241
+ name: 'Sparkline',
242
+ category: 'molecules',
243
+ description: 'Inline mini chart for data trends.',
244
+ props: [
245
+ { name: 'data', type: "number[]", required: true, description: 'Data points' },
246
+ { name: 'width', type: "number", required: false, description: 'Chart width' },
247
+ { name: 'height', type: "number", required: false, default: '1', description: 'Chart height in rows' },
248
+ { name: 'color', type: "ColorValue", required: false, description: 'Line color' },
249
+ ],
250
+ examples: [
251
+ `Sparkline({ data: [1, 5, 3, 9, 2, 7], width: 20 })`,
252
+ ],
253
+ },
254
+ {
255
+ name: 'BarChart',
256
+ category: 'molecules',
257
+ description: 'Horizontal or vertical bar chart.',
258
+ props: [
259
+ { name: 'data', type: "BarData[]", required: true, description: 'Array of { label, value, color? }' },
260
+ { name: 'orientation', type: "'horizontal' | 'vertical'", required: false, default: "'horizontal'", description: 'Bar orientation' },
261
+ { name: 'width', type: "number", required: false, description: 'Chart width' },
262
+ { name: 'showValues', type: "boolean", required: false, default: 'true', description: 'Show value labels' },
263
+ ],
264
+ examples: [
265
+ `BarChart({\n data: [\n { label: 'A', value: 30 },\n { label: 'B', value: 50 },\n { label: 'C', value: 20 }\n ]\n})`,
266
+ ],
267
+ },
268
+ {
269
+ name: 'Gauge',
270
+ category: 'molecules',
271
+ description: 'Gauge/meter display for single values.',
272
+ props: [
273
+ { name: 'value', type: "number", required: true, description: 'Current value' },
274
+ { name: 'max', type: "number", required: false, default: '100', description: 'Maximum value' },
275
+ { name: 'width', type: "number", required: false, description: 'Gauge width' },
276
+ { name: 'showValue', type: "boolean", required: false, default: 'true', description: 'Show numeric value' },
277
+ { name: 'zones', type: "GaugeZone[]", required: false, description: 'Color zones { min, max, color }' },
278
+ ],
279
+ examples: [
280
+ `Gauge({ value: 75, max: 100, width: 30 })`,
281
+ ],
282
+ },
283
+ {
284
+ name: 'Heatmap',
285
+ category: 'molecules',
286
+ description: 'Grid-based heatmap visualization.',
287
+ props: [
288
+ { name: 'data', type: "HeatmapCell[][]", required: true, description: '2D array of { value, label? }' },
289
+ { name: 'colorScale', type: "ColorScale", required: false, default: "'blues'", description: 'Color scale name' },
290
+ { name: 'showValues', type: "boolean", required: false, default: 'false', description: 'Show cell values' },
291
+ ],
292
+ examples: [
293
+ `Heatmap({\n data: [[{ value: 1 }, { value: 5 }], [{ value: 3 }, { value: 8 }]],\n colorScale: 'greens'\n})`,
294
+ ],
295
+ },
296
+ ];
297
+ // =============================================================================
298
+ // Organisms
299
+ // =============================================================================
300
+ export const organisms = [
301
+ {
302
+ name: 'CommandPalette',
303
+ category: 'organisms',
304
+ description: 'Command palette with fuzzy search (like VS Code Ctrl+Shift+P).',
305
+ props: [
306
+ { name: 'commands', type: "Command[]", required: true, description: 'Available commands { id, label, shortcut?, action }' },
307
+ { name: 'visible', type: "boolean", required: true, description: 'Visibility state' },
308
+ { name: 'onClose', type: "() => void", required: true, description: 'Close handler' },
309
+ { name: 'onSelect', type: "(command: Command) => void", required: true, description: 'Command selection handler' },
310
+ ],
311
+ examples: [
312
+ `CommandPalette({\n commands: [\n { id: 'save', label: 'Save File', shortcut: 'Ctrl+S', action: save },\n { id: 'quit', label: 'Quit', shortcut: 'Ctrl+Q', action: quit }\n ],\n visible: paletteOpen(),\n onClose: () => setPaletteOpen(false),\n onSelect: (cmd) => cmd.action()\n})`,
313
+ ],
314
+ },
315
+ {
316
+ name: 'FileManager',
317
+ category: 'organisms',
318
+ description: 'File browser with tree navigation.',
319
+ props: [
320
+ { name: 'root', type: "string", required: true, description: 'Root directory path' },
321
+ { name: 'onSelect', type: "(path: string) => void", required: false, description: 'File selection handler' },
322
+ { name: 'showHidden', type: "boolean", required: false, default: 'false', description: 'Show hidden files' },
323
+ ],
324
+ examples: [
325
+ `FileManager({ root: '/home/user', onSelect: (path) => openFile(path) })`,
326
+ ],
327
+ },
328
+ {
329
+ name: 'DataTable',
330
+ category: 'organisms',
331
+ description: 'Advanced data table with sorting, filtering, and pagination.',
332
+ props: [
333
+ { name: 'columns', type: "DataTableColumn[]", required: true, description: 'Column definitions with sorting/filtering options' },
334
+ { name: 'data', type: "Record<string, unknown>[]", required: true, description: 'Row data' },
335
+ { name: 'pageSize', type: "number", required: false, default: '10', description: 'Rows per page' },
336
+ { name: 'sortable', type: "boolean", required: false, default: 'true', description: 'Enable column sorting' },
337
+ { name: 'filterable', type: "boolean", required: false, default: 'false', description: 'Enable column filtering' },
338
+ ],
339
+ examples: [
340
+ `DataTable({\n columns: [\n { key: 'name', header: 'Name', sortable: true },\n { key: 'email', header: 'Email', width: 30 }\n ],\n data: users,\n pageSize: 20\n})`,
341
+ ],
342
+ },
343
+ ];
344
+ // =============================================================================
345
+ // Layout Components
346
+ // =============================================================================
347
+ export const layouts = [
348
+ {
349
+ name: 'VStack',
350
+ category: 'primitives',
351
+ description: 'Vertical stack layout (shorthand for Box with column direction).',
352
+ props: [
353
+ { name: 'gap', type: "number", required: false, default: '0', description: 'Gap between children' },
354
+ { name: 'align', type: "'start' | 'center' | 'end' | 'stretch'", required: false, default: "'stretch'", description: 'Cross-axis alignment' },
355
+ ],
356
+ examples: [
357
+ `VStack({ gap: 1 },\n Text({}, 'Line 1'),\n Text({}, 'Line 2'),\n Text({}, 'Line 3')\n)`,
358
+ ],
359
+ },
360
+ {
361
+ name: 'HStack',
362
+ category: 'primitives',
363
+ description: 'Horizontal stack layout (shorthand for Box with row direction).',
364
+ props: [
365
+ { name: 'gap', type: "number", required: false, default: '0', description: 'Gap between children' },
366
+ { name: 'align', type: "'start' | 'center' | 'end' | 'stretch'", required: false, default: "'center'", description: 'Cross-axis alignment' },
367
+ ],
368
+ examples: [
369
+ `HStack({ gap: 2 },\n Button({ label: 'OK' }),\n Button({ label: 'Cancel' })\n)`,
370
+ ],
371
+ },
372
+ {
373
+ name: 'Center',
374
+ category: 'primitives',
375
+ description: 'Centers content both horizontally and vertically.',
376
+ props: [],
377
+ examples: [
378
+ `Center({},\n Text({ bold: true }, 'Centered Content')\n)`,
379
+ ],
380
+ },
381
+ {
382
+ name: 'SplitPanel',
383
+ category: 'molecules',
384
+ description: 'Resizable split panel layout.',
385
+ props: [
386
+ { name: 'direction', type: "'horizontal' | 'vertical'", required: false, default: "'horizontal'", description: 'Split direction' },
387
+ { name: 'initialSize', type: "number", required: false, default: '50', description: 'Initial size percentage' },
388
+ { name: 'minSize', type: "number", required: false, default: '10', description: 'Minimum size percentage' },
389
+ { name: 'left', type: "VNode", required: true, description: 'Left/top panel content' },
390
+ { name: 'right', type: "VNode", required: true, description: 'Right/bottom panel content' },
391
+ ],
392
+ examples: [
393
+ `SplitPanel({\n direction: 'horizontal',\n initialSize: 30,\n left: Sidebar(),\n right: MainContent()\n})`,
394
+ ],
395
+ },
396
+ {
397
+ name: 'ScrollArea',
398
+ category: 'molecules',
399
+ description: 'Scrollable content area with keyboard navigation.',
400
+ props: [
401
+ { name: 'height', type: "number", required: true, description: 'Visible height in rows' },
402
+ { name: 'showScrollbar', type: "boolean", required: false, default: 'true', description: 'Show scrollbar indicator' },
403
+ ],
404
+ examples: [
405
+ `ScrollArea({ height: 10 },\n ...items.map(item => Text({}, item))\n)`,
406
+ ],
407
+ },
408
+ {
409
+ name: 'Grid',
410
+ category: 'molecules',
411
+ description: 'CSS Grid-like layout for terminal.',
412
+ props: [
413
+ { name: 'columns', type: "number | string", required: true, description: 'Number of columns or template' },
414
+ { name: 'rows', type: "number | string", required: false, description: 'Number of rows or template' },
415
+ { name: 'gap', type: "number", required: false, default: '0', description: 'Gap between cells' },
416
+ ],
417
+ examples: [
418
+ `Grid({ columns: 3, gap: 1 },\n ...cards.map(card => Card(card))\n)`,
419
+ ],
420
+ },
421
+ ];
422
+ // =============================================================================
423
+ // Hooks
424
+ // =============================================================================
425
+ export const hooks = [
426
+ {
427
+ name: 'useState',
428
+ description: 'Create reactive state that triggers re-renders when updated.',
429
+ signature: 'useState<T>(initialValue: T): [Accessor<T>, Setter<T>]',
430
+ params: [
431
+ { name: 'initialValue', type: 'T', required: true, description: 'Initial state value' },
432
+ ],
433
+ returns: 'Tuple of [getter function, setter function]',
434
+ examples: [
435
+ `const [count, setCount] = useState(0);\n// Read: count()\n// Write: setCount(5) or setCount(c => c + 1)`,
436
+ ],
437
+ },
438
+ {
439
+ name: 'useEffect',
440
+ description: 'Run side effects when dependencies change.',
441
+ signature: 'useEffect(fn: () => void | (() => void)): void',
442
+ params: [
443
+ { name: 'fn', type: '() => void | (() => void)', required: true, description: 'Effect function, optionally returning cleanup' },
444
+ ],
445
+ returns: 'void',
446
+ examples: [
447
+ `useEffect(() => {\n console.log('Count changed:', count());\n return () => console.log('Cleanup');\n});`,
448
+ ],
449
+ },
450
+ {
451
+ name: 'useInput',
452
+ description: 'Handle keyboard input events.',
453
+ signature: 'useInput(handler: InputHandler): void',
454
+ params: [
455
+ { name: 'handler', type: '(input: string, key: Key) => void', required: true, description: 'Input event handler' },
456
+ ],
457
+ returns: 'void',
458
+ examples: [
459
+ `useInput((input, key) => {\n if (key.upArrow) setIndex(i => i - 1);\n if (key.downArrow) setIndex(i => i + 1);\n if (key.return) select();\n if (key.escape) cancel();\n});`,
460
+ ],
461
+ },
462
+ {
463
+ name: 'useApp',
464
+ description: 'Access app context for exit control and terminal info.',
465
+ signature: 'useApp(): AppContext',
466
+ params: [],
467
+ returns: 'AppContext with exit() method and terminal dimensions',
468
+ examples: [
469
+ `const app = useApp();\nuseInput((_, key) => {\n if (key.escape) app.exit();\n});`,
470
+ ],
471
+ },
472
+ {
473
+ name: 'useFocus',
474
+ description: 'Manage focus state for interactive components.',
475
+ signature: 'useFocus(options?: FocusOptions): FocusResult',
476
+ params: [
477
+ { name: 'options.autoFocus', type: 'boolean', required: false, default: 'false', description: 'Auto-focus on mount' },
478
+ { name: 'options.id', type: 'string', required: false, description: 'Focus element ID' },
479
+ ],
480
+ returns: 'Object with isFocused() accessor and focus control methods',
481
+ examples: [
482
+ `const { isFocused, focus } = useFocus({ autoFocus: true });\n// isFocused() returns true/false`,
483
+ ],
484
+ },
485
+ {
486
+ name: 'useMouse',
487
+ description: 'Handle mouse events (click, scroll, move).',
488
+ signature: 'useMouse(handler: MouseHandler): void',
489
+ params: [
490
+ { name: 'handler', type: 'MouseHandler', required: true, description: 'Mouse event handler' },
491
+ ],
492
+ returns: 'void',
493
+ examples: [
494
+ `useMouse((event) => {\n if (event.type === 'click') handleClick(event.x, event.y);\n if (event.type === 'scroll') handleScroll(event.direction);\n});`,
495
+ ],
496
+ },
497
+ {
498
+ name: 'useHotkeys',
499
+ description: 'Register keyboard shortcuts with human-readable syntax.',
500
+ signature: 'useHotkeys(bindings: HotkeyBinding[], options?: HotkeyOptions): void',
501
+ params: [
502
+ { name: 'bindings', type: 'HotkeyBinding[]', required: true, description: 'Array of { key, handler, description? }' },
503
+ { name: 'options.scope', type: 'string', required: false, description: 'Hotkey scope for context-specific shortcuts' },
504
+ ],
505
+ returns: 'void',
506
+ examples: [
507
+ `useHotkeys([\n { key: 'ctrl+s', handler: save, description: 'Save file' },\n { key: 'ctrl+q', handler: quit, description: 'Quit' },\n { key: 'cmd+shift+p', handler: openPalette, description: 'Command palette' }\n]);`,
508
+ ],
509
+ },
510
+ {
511
+ name: 'useTerminalSize',
512
+ description: 'Get reactive terminal dimensions that update on resize.',
513
+ signature: 'useTerminalSize(): { columns: Accessor<number>, rows: Accessor<number> }',
514
+ params: [],
515
+ returns: 'Object with reactive columns() and rows() accessors',
516
+ examples: [
517
+ `const { columns, rows } = useTerminalSize();\n// columns() and rows() update automatically on terminal resize`,
518
+ ],
519
+ },
520
+ ];
521
+ // =============================================================================
522
+ // Theme System
523
+ // =============================================================================
524
+ export const themeSystem = {
525
+ name: 'Theme System',
526
+ category: 'utils',
527
+ description: 'Global theming with semantic colors, spacing, and multiple built-in themes.',
528
+ props: [
529
+ { name: 'primary', type: "ColorValue", required: true, description: 'Primary brand color' },
530
+ { name: 'secondary', type: "ColorValue", required: true, description: 'Secondary color' },
531
+ { name: 'background', type: "ColorValue", required: true, description: 'Background color' },
532
+ { name: 'surface', type: "ColorValue", required: true, description: 'Surface/card color' },
533
+ { name: 'text', type: "ColorValue", required: true, description: 'Primary text color' },
534
+ { name: 'textMuted', type: "ColorValue", required: true, description: 'Muted text color' },
535
+ { name: 'border', type: "ColorValue", required: true, description: 'Border color' },
536
+ { name: 'success', type: "ColorValue", required: true, description: 'Success state color' },
537
+ { name: 'warning', type: "ColorValue", required: true, description: 'Warning state color' },
538
+ { name: 'error', type: "ColorValue", required: true, description: 'Error state color' },
539
+ ],
540
+ examples: [
541
+ `// Use theme colors\nText({ color: themeColor('primary') }, 'Themed text')`,
542
+ `// Switch themes\nsetTheme(draculaTheme);`,
543
+ `// Available themes: darkTheme, lightTheme, draculaTheme, nordTheme, monokaiTheme, etc.`,
544
+ ],
545
+ };
546
+ export const availableThemes = [
547
+ { name: 'darkTheme', description: 'Default dark theme', colors: { primary: 'cyan', background: '#1a1a2e' } },
548
+ { name: 'lightTheme', description: 'Light theme for bright terminals', colors: { primary: 'blue', background: '#ffffff' } },
549
+ { name: 'draculaTheme', description: 'Dracula color scheme', colors: { primary: '#bd93f9', background: '#282a36' } },
550
+ { name: 'nordTheme', description: 'Nord color scheme', colors: { primary: '#88c0d0', background: '#2e3440' } },
551
+ { name: 'monokaiTheme', description: 'Monokai color scheme', colors: { primary: '#66d9ef', background: '#272822' } },
552
+ { name: 'tokyoNightTheme', description: 'Tokyo Night color scheme', colors: { primary: '#7aa2f7', background: '#1a1b26' } },
553
+ { name: 'catppuccinTheme', description: 'Catppuccin Mocha theme', colors: { primary: '#cba6f7', background: '#1e1e2e' } },
554
+ { name: 'gruvboxTheme', description: 'Gruvbox dark theme', colors: { primary: '#fabd2f', background: '#282828' } },
555
+ ];
556
+ // =============================================================================
557
+ // Signals (Core Reactivity)
558
+ // =============================================================================
559
+ export const signals = [
560
+ {
561
+ name: 'createSignal',
562
+ description: 'Create a reactive signal (core primitive for state management).',
563
+ signature: 'createSignal<T>(value: T): [Accessor<T>, Setter<T>]',
564
+ params: [
565
+ { name: 'value', type: 'T', required: true, description: 'Initial value' },
566
+ ],
567
+ returns: 'Tuple of [getter, setter]',
568
+ examples: [
569
+ `const [count, setCount] = createSignal(0);\nconsole.log(count()); // 0\nsetCount(5);\nconsole.log(count()); // 5`,
570
+ ],
571
+ },
572
+ {
573
+ name: 'createEffect',
574
+ description: 'Run a function that auto-tracks signal dependencies and re-runs when they change.',
575
+ signature: 'createEffect(fn: () => void): void',
576
+ params: [
577
+ { name: 'fn', type: '() => void', required: true, description: 'Effect function' },
578
+ ],
579
+ returns: 'void',
580
+ examples: [
581
+ `createEffect(() => {\n console.log('Count is now:', count());\n});`,
582
+ ],
583
+ },
584
+ {
585
+ name: 'createMemo',
586
+ description: 'Create a derived/computed value that caches and updates automatically.',
587
+ signature: 'createMemo<T>(fn: () => T): Accessor<T>',
588
+ params: [
589
+ { name: 'fn', type: '() => T', required: true, description: 'Computation function' },
590
+ ],
591
+ returns: 'Accessor function returning the memoized value',
592
+ examples: [
593
+ `const doubled = createMemo(() => count() * 2);\nconsole.log(doubled()); // auto-updates when count changes`,
594
+ ],
595
+ },
596
+ {
597
+ name: 'batch',
598
+ description: 'Batch multiple signal updates into a single re-render.',
599
+ signature: 'batch(fn: () => void): void',
600
+ params: [
601
+ { name: 'fn', type: '() => void', required: true, description: 'Function with multiple updates' },
602
+ ],
603
+ returns: 'void',
604
+ examples: [
605
+ `batch(() => {\n setX(1);\n setY(2);\n setZ(3);\n}); // Only one re-render`,
606
+ ],
607
+ },
608
+ ];
609
+ // =============================================================================
610
+ // All Documentation Combined
611
+ // =============================================================================
612
+ export const allComponents = [
613
+ ...primitives,
614
+ ...atoms,
615
+ ...molecules,
616
+ ...dataViz,
617
+ ...organisms,
618
+ ...layouts,
619
+ themeSystem,
620
+ ];
621
+ export const allHooks = [
622
+ ...hooks,
623
+ ...signals,
624
+ ];
625
+ export const allThemes = availableThemes;
626
+ // Category groupings for listing
627
+ export const categories = {
628
+ primitives: primitives.map(c => c.name),
629
+ atoms: atoms.map(c => c.name),
630
+ molecules: [...molecules, ...dataViz].map(c => c.name),
631
+ organisms: organisms.map(c => c.name),
632
+ layouts: layouts.map(c => c.name),
633
+ hooks: hooks.map(h => h.name),
634
+ signals: signals.map(s => s.name),
635
+ themes: availableThemes.map(t => t.name),
636
+ };
637
+ //# sourceMappingURL=docs-data.js.map