tuiuiu.js 0.1.1 → 0.1.4-next.2b42a16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (402) hide show
  1. package/README.md +100 -42
  2. package/dist/atoms/button.d.ts.map +1 -1
  3. package/dist/atoms/button.js +17 -9
  4. package/dist/atoms/button.js.map +1 -1
  5. package/dist/atoms/text-input.d.ts +2 -0
  6. package/dist/atoms/text-input.d.ts.map +1 -1
  7. package/dist/atoms/text-input.js +13 -7
  8. package/dist/atoms/text-input.js.map +1 -1
  9. package/dist/atoms/tooltip.d.ts.map +1 -1
  10. package/dist/atoms/tooltip.js +2 -1
  11. package/dist/atoms/tooltip.js.map +1 -1
  12. package/dist/cli/commands/help.d.ts +5 -0
  13. package/dist/cli/commands/help.d.ts.map +1 -0
  14. package/dist/cli/commands/help.js +31 -0
  15. package/dist/cli/commands/help.js.map +1 -0
  16. package/dist/cli/commands/mcp.d.ts +11 -0
  17. package/dist/cli/commands/mcp.d.ts.map +1 -0
  18. package/dist/cli/commands/mcp.js +21 -0
  19. package/dist/cli/commands/mcp.js.map +1 -0
  20. package/dist/cli/commands/storybook.d.ts +5 -0
  21. package/dist/cli/commands/storybook.d.ts.map +1 -0
  22. package/dist/cli/commands/storybook.js +9 -0
  23. package/dist/cli/commands/storybook.js.map +1 -0
  24. package/dist/cli/index.d.ts +14 -0
  25. package/dist/cli/index.d.ts.map +1 -0
  26. package/dist/cli/index.js +50 -0
  27. package/dist/cli/index.js.map +1 -0
  28. package/dist/core/error-boundary.d.ts.map +1 -1
  29. package/dist/core/error-boundary.js +2 -1
  30. package/dist/core/error-boundary.js.map +1 -1
  31. package/dist/core/hotkeys.d.ts +62 -0
  32. package/dist/core/hotkeys.d.ts.map +1 -0
  33. package/dist/core/hotkeys.js +0 -0
  34. package/dist/core/hotkeys.js.map +1 -0
  35. package/dist/core/index.d.ts +3 -1
  36. package/dist/core/index.d.ts.map +1 -1
  37. package/dist/core/index.js +9 -1
  38. package/dist/core/index.js.map +1 -1
  39. package/dist/core/screen.d.ts.map +1 -1
  40. package/dist/core/screen.js +2 -0
  41. package/dist/core/screen.js.map +1 -1
  42. package/dist/core/theme.d.ts +79 -0
  43. package/dist/core/theme.d.ts.map +1 -1
  44. package/dist/core/theme.js +358 -0
  45. package/dist/core/theme.js.map +1 -1
  46. package/dist/design-system/data-display/index.d.ts +9 -6
  47. package/dist/design-system/data-display/index.d.ts.map +1 -1
  48. package/dist/design-system/data-display/index.js +16 -7
  49. package/dist/design-system/data-display/index.js.map +1 -1
  50. package/dist/design-system/feedback/badge.d.ts +21 -4
  51. package/dist/design-system/feedback/badge.d.ts.map +1 -1
  52. package/dist/design-system/feedback/badge.js +15 -2
  53. package/dist/design-system/feedback/badge.js.map +1 -1
  54. package/dist/design-system/forms/index.d.ts +11 -8
  55. package/dist/design-system/forms/index.d.ts.map +1 -1
  56. package/dist/design-system/forms/index.js +19 -10
  57. package/dist/design-system/forms/index.js.map +1 -1
  58. package/dist/design-system/layout/index.d.ts +7 -4
  59. package/dist/design-system/layout/index.d.ts.map +1 -1
  60. package/dist/design-system/layout/index.js +18 -6
  61. package/dist/design-system/layout/index.js.map +1 -1
  62. package/dist/design-system/media/picture.d.ts.map +1 -1
  63. package/dist/design-system/media/picture.js +2 -1
  64. package/dist/design-system/media/picture.js.map +1 -1
  65. package/dist/design-system/overlays/index.d.ts +6 -3
  66. package/dist/design-system/overlays/index.d.ts.map +1 -1
  67. package/dist/design-system/overlays/index.js +9 -3
  68. package/dist/design-system/overlays/index.js.map +1 -1
  69. package/dist/design-system/visual/splash-screen.d.ts.map +1 -1
  70. package/dist/design-system/visual/splash-screen.js +38 -18
  71. package/dist/design-system/visual/splash-screen.js.map +1 -1
  72. package/dist/hooks/index.d.ts +2 -0
  73. package/dist/hooks/index.d.ts.map +1 -1
  74. package/dist/hooks/index.js +2 -0
  75. package/dist/hooks/index.js.map +1 -1
  76. package/dist/hooks/use-hotkeys.d.ts +153 -0
  77. package/dist/hooks/use-hotkeys.d.ts.map +1 -0
  78. package/dist/hooks/use-hotkeys.js +379 -0
  79. package/dist/hooks/use-hotkeys.js.map +1 -0
  80. package/dist/hooks/use-input.d.ts +2 -10
  81. package/dist/hooks/use-input.d.ts.map +1 -1
  82. package/dist/hooks/use-input.js +2 -287
  83. package/dist/hooks/use-input.js.map +1 -1
  84. package/dist/hooks/use-mouse.d.ts +5 -0
  85. package/dist/hooks/use-mouse.d.ts.map +1 -1
  86. package/dist/hooks/use-mouse.js +29 -11
  87. package/dist/hooks/use-mouse.js.map +1 -1
  88. package/dist/index.d.ts +6 -4
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +15 -3
  91. package/dist/index.js.map +1 -1
  92. package/dist/mcp/docs-data.d.ts +31 -0
  93. package/dist/mcp/docs-data.d.ts.map +1 -0
  94. package/dist/mcp/docs-data.js +637 -0
  95. package/dist/mcp/docs-data.js.map +1 -0
  96. package/dist/mcp/index.d.ts +14 -0
  97. package/dist/mcp/index.d.ts.map +1 -0
  98. package/dist/mcp/index.js +12 -0
  99. package/dist/mcp/index.js.map +1 -0
  100. package/dist/mcp/server.d.ts +31 -0
  101. package/dist/mcp/server.d.ts.map +1 -0
  102. package/dist/mcp/server.js +597 -0
  103. package/dist/mcp/server.js.map +1 -0
  104. package/dist/mcp/types.d.ts +114 -0
  105. package/dist/mcp/types.d.ts.map +1 -0
  106. package/dist/mcp/types.js +16 -0
  107. package/dist/mcp/types.js.map +1 -0
  108. package/dist/molecules/autocomplete.d.ts.map +1 -1
  109. package/dist/molecules/autocomplete.js +2 -1
  110. package/dist/molecules/autocomplete.js.map +1 -1
  111. package/dist/molecules/calendar.d.ts.map +1 -1
  112. package/dist/molecules/calendar.js +5 -3
  113. package/dist/molecules/calendar.js.map +1 -1
  114. package/dist/molecules/data-viz/annotations.d.ts +75 -0
  115. package/dist/molecules/data-viz/annotations.d.ts.map +1 -0
  116. package/dist/molecules/data-viz/annotations.js +40 -0
  117. package/dist/molecules/data-viz/annotations.js.map +1 -0
  118. package/dist/molecules/data-viz/gantt-chart.d.ts +66 -0
  119. package/dist/molecules/data-viz/gantt-chart.d.ts.map +1 -0
  120. package/dist/molecules/data-viz/gantt-chart.js +134 -0
  121. package/dist/molecules/data-viz/gantt-chart.js.map +1 -0
  122. package/dist/molecules/data-viz/gauge.d.ts +2 -2
  123. package/dist/molecules/data-viz/gauge.d.ts.map +1 -1
  124. package/dist/molecules/data-viz/gauge.js +24 -8
  125. package/dist/molecules/data-viz/gauge.js.map +1 -1
  126. package/dist/molecules/data-viz/heatmap.d.ts +8 -2
  127. package/dist/molecules/data-viz/heatmap.d.ts.map +1 -1
  128. package/dist/molecules/data-viz/heatmap.js +41 -9
  129. package/dist/molecules/data-viz/heatmap.js.map +1 -1
  130. package/dist/molecules/data-viz/hooks.d.ts +264 -0
  131. package/dist/molecules/data-viz/hooks.d.ts.map +1 -0
  132. package/dist/molecules/data-viz/hooks.js +373 -0
  133. package/dist/molecules/data-viz/hooks.js.map +1 -0
  134. package/dist/molecules/data-viz/index.d.ts +14 -0
  135. package/dist/molecules/data-viz/index.d.ts.map +1 -1
  136. package/dist/molecules/data-viz/index.js +14 -0
  137. package/dist/molecules/data-viz/index.js.map +1 -1
  138. package/dist/molecules/data-viz/legend.d.ts +82 -0
  139. package/dist/molecules/data-viz/legend.d.ts.map +1 -0
  140. package/dist/molecules/data-viz/legend.js +146 -0
  141. package/dist/molecules/data-viz/legend.js.map +1 -0
  142. package/dist/molecules/data-viz/line-chart.d.ts.map +1 -1
  143. package/dist/molecules/data-viz/line-chart.js +48 -12
  144. package/dist/molecules/data-viz/line-chart.js.map +1 -1
  145. package/dist/molecules/data-viz/radar-chart.d.ts +61 -0
  146. package/dist/molecules/data-viz/radar-chart.d.ts.map +1 -0
  147. package/dist/molecules/data-viz/radar-chart.js +86 -0
  148. package/dist/molecules/data-viz/radar-chart.js.map +1 -0
  149. package/dist/molecules/data-viz/scatter-plot.d.ts +97 -0
  150. package/dist/molecules/data-viz/scatter-plot.d.ts.map +1 -0
  151. package/dist/molecules/data-viz/scatter-plot.js +205 -0
  152. package/dist/molecules/data-viz/scatter-plot.js.map +1 -0
  153. package/dist/molecules/data-viz/time-heatmap.d.ts +48 -0
  154. package/dist/molecules/data-viz/time-heatmap.d.ts.map +1 -0
  155. package/dist/molecules/data-viz/time-heatmap.js +145 -0
  156. package/dist/molecules/data-viz/time-heatmap.js.map +1 -0
  157. package/dist/molecules/select.d.ts +2 -0
  158. package/dist/molecules/select.d.ts.map +1 -1
  159. package/dist/molecules/select.js +4 -3
  160. package/dist/molecules/select.js.map +1 -1
  161. package/dist/molecules/tabs.d.ts.map +1 -1
  162. package/dist/molecules/tabs.js +14 -2
  163. package/dist/molecules/tabs.js.map +1 -1
  164. package/dist/organisms/command-palette.d.ts.map +1 -1
  165. package/dist/organisms/command-palette.js +2 -1
  166. package/dist/organisms/command-palette.js.map +1 -1
  167. package/dist/storybook/app.d.ts.map +1 -1
  168. package/dist/storybook/app.js +53 -44
  169. package/dist/storybook/app.js.map +1 -1
  170. package/dist/storybook/components/compare-view.d.ts.map +1 -1
  171. package/dist/storybook/components/compare-view.js +19 -18
  172. package/dist/storybook/components/compare-view.js.map +1 -1
  173. package/dist/storybook/components/log-viewer.d.ts.map +1 -1
  174. package/dist/storybook/components/log-viewer.js +9 -8
  175. package/dist/storybook/components/log-viewer.js.map +1 -1
  176. package/dist/storybook/components/preview.d.ts.map +1 -1
  177. package/dist/storybook/components/preview.js +34 -33
  178. package/dist/storybook/components/preview.js.map +1 -1
  179. package/dist/storybook/components/sidebar.d.ts.map +1 -1
  180. package/dist/storybook/components/sidebar.js +21 -20
  181. package/dist/storybook/components/sidebar.js.map +1 -1
  182. package/dist/storybook/stories/apps/index.d.ts.map +1 -1
  183. package/dist/storybook/stories/apps/index.js +306 -209
  184. package/dist/storybook/stories/apps/index.js.map +1 -1
  185. package/dist/storybook/stories/atoms/index.d.ts.map +1 -1
  186. package/dist/storybook/stories/atoms/index.js.map +1 -1
  187. package/dist/storybook/stories/molecules/index.d.ts +25 -0
  188. package/dist/storybook/stories/molecules/index.d.ts.map +1 -1
  189. package/dist/storybook/stories/molecules/index.js +402 -20
  190. package/dist/storybook/stories/molecules/index.js.map +1 -1
  191. package/dist/storybook/stories/organisms/index.d.ts.map +1 -1
  192. package/dist/storybook/stories/organisms/index.js +1 -1
  193. package/dist/storybook/stories/organisms/index.js.map +1 -1
  194. package/dist/utils/index.d.ts +2 -0
  195. package/dist/utils/index.d.ts.map +1 -1
  196. package/dist/utils/index.js +2 -0
  197. package/dist/utils/index.js.map +1 -1
  198. package/dist/utils/system-data.d.ts +73 -0
  199. package/dist/utils/system-data.d.ts.map +1 -0
  200. package/dist/utils/system-data.js +367 -0
  201. package/dist/utils/system-data.js.map +1 -0
  202. package/dist/version.d.ts +43 -0
  203. package/dist/version.d.ts.map +1 -0
  204. package/dist/version.js +82 -0
  205. package/dist/version.js.map +1 -0
  206. package/package.json +22 -22
  207. package/dist/components/canvas.d.ts +0 -322
  208. package/dist/components/canvas.d.ts.map +0 -1
  209. package/dist/components/canvas.js +0 -833
  210. package/dist/components/canvas.js.map +0 -1
  211. package/dist/components/code-block.d.ts +0 -75
  212. package/dist/components/code-block.d.ts.map +0 -1
  213. package/dist/components/code-block.js +0 -322
  214. package/dist/components/code-block.js.map +0 -1
  215. package/dist/components/components.d.ts +0 -122
  216. package/dist/components/components.d.ts.map +0 -1
  217. package/dist/components/components.js +0 -151
  218. package/dist/components/components.js.map +0 -1
  219. package/dist/components/data-viz/bar-chart.d.ts +0 -167
  220. package/dist/components/data-viz/bar-chart.d.ts.map +0 -1
  221. package/dist/components/data-viz/bar-chart.js +0 -375
  222. package/dist/components/data-viz/bar-chart.js.map +0 -1
  223. package/dist/components/data-viz/gauge.d.ts +0 -163
  224. package/dist/components/data-viz/gauge.d.ts.map +0 -1
  225. package/dist/components/data-viz/gauge.js +0 -451
  226. package/dist/components/data-viz/gauge.js.map +0 -1
  227. package/dist/components/data-viz/heatmap.d.ts +0 -154
  228. package/dist/components/data-viz/heatmap.d.ts.map +0 -1
  229. package/dist/components/data-viz/heatmap.js +0 -458
  230. package/dist/components/data-viz/heatmap.js.map +0 -1
  231. package/dist/components/data-viz/index.d.ts +0 -16
  232. package/dist/components/data-viz/index.d.ts.map +0 -1
  233. package/dist/components/data-viz/index.js +0 -16
  234. package/dist/components/data-viz/index.js.map +0 -1
  235. package/dist/components/data-viz/line-chart.d.ts +0 -157
  236. package/dist/components/data-viz/line-chart.d.ts.map +0 -1
  237. package/dist/components/data-viz/line-chart.js +0 -578
  238. package/dist/components/data-viz/line-chart.js.map +0 -1
  239. package/dist/components/data-viz/sparkline.d.ts +0 -156
  240. package/dist/components/data-viz/sparkline.d.ts.map +0 -1
  241. package/dist/components/data-viz/sparkline.js +0 -325
  242. package/dist/components/data-viz/sparkline.js.map +0 -1
  243. package/dist/components/grid.d.ts +0 -234
  244. package/dist/components/grid.d.ts.map +0 -1
  245. package/dist/components/grid.js +0 -719
  246. package/dist/components/grid.js.map +0 -1
  247. package/dist/components/index.d.ts +0 -33
  248. package/dist/components/index.d.ts.map +0 -1
  249. package/dist/components/index.js +0 -69
  250. package/dist/components/index.js.map +0 -1
  251. package/dist/components/markdown.d.ts +0 -52
  252. package/dist/components/markdown.d.ts.map +0 -1
  253. package/dist/components/markdown.js +0 -341
  254. package/dist/components/markdown.js.map +0 -1
  255. package/dist/components/modal.d.ts +0 -237
  256. package/dist/components/modal.d.ts.map +0 -1
  257. package/dist/components/modal.js +0 -396
  258. package/dist/components/modal.js.map +0 -1
  259. package/dist/components/progress-bar.d.ts +0 -89
  260. package/dist/components/progress-bar.d.ts.map +0 -1
  261. package/dist/components/progress-bar.js +0 -288
  262. package/dist/components/progress-bar.js.map +0 -1
  263. package/dist/components/select.d.ts +0 -114
  264. package/dist/components/select.d.ts.map +0 -1
  265. package/dist/components/select.js +0 -415
  266. package/dist/components/select.js.map +0 -1
  267. package/dist/components/spinner.d.ts +0 -71
  268. package/dist/components/spinner.d.ts.map +0 -1
  269. package/dist/components/spinner.js +0 -300
  270. package/dist/components/spinner.js.map +0 -1
  271. package/dist/components/split-panel.d.ts +0 -175
  272. package/dist/components/split-panel.d.ts.map +0 -1
  273. package/dist/components/split-panel.js +0 -322
  274. package/dist/components/split-panel.js.map +0 -1
  275. package/dist/components/table.d.ts +0 -103
  276. package/dist/components/table.d.ts.map +0 -1
  277. package/dist/components/table.js +0 -359
  278. package/dist/components/table.js.map +0 -1
  279. package/dist/components/text-input.d.ts +0 -79
  280. package/dist/components/text-input.d.ts.map +0 -1
  281. package/dist/components/text-input.js +0 -332
  282. package/dist/components/text-input.js.map +0 -1
  283. package/dist/design-system/data-display/calendar.d.ts +0 -141
  284. package/dist/design-system/data-display/calendar.d.ts.map +0 -1
  285. package/dist/design-system/data-display/calendar.js +0 -524
  286. package/dist/design-system/data-display/calendar.js.map +0 -1
  287. package/dist/design-system/data-display/code-block.d.ts +0 -75
  288. package/dist/design-system/data-display/code-block.d.ts.map +0 -1
  289. package/dist/design-system/data-display/code-block.js +0 -311
  290. package/dist/design-system/data-display/code-block.js.map +0 -1
  291. package/dist/design-system/data-display/data-table.d.ts +0 -173
  292. package/dist/design-system/data-display/data-table.d.ts.map +0 -1
  293. package/dist/design-system/data-display/data-table.js +0 -428
  294. package/dist/design-system/data-display/data-table.js.map +0 -1
  295. package/dist/design-system/data-display/markdown.d.ts +0 -52
  296. package/dist/design-system/data-display/markdown.d.ts.map +0 -1
  297. package/dist/design-system/data-display/markdown.js +0 -341
  298. package/dist/design-system/data-display/markdown.js.map +0 -1
  299. package/dist/design-system/data-display/table.d.ts +0 -103
  300. package/dist/design-system/data-display/table.d.ts.map +0 -1
  301. package/dist/design-system/data-display/table.js +0 -342
  302. package/dist/design-system/data-display/table.js.map +0 -1
  303. package/dist/design-system/data-display/tree.d.ts +0 -166
  304. package/dist/design-system/data-display/tree.d.ts.map +0 -1
  305. package/dist/design-system/data-display/tree.js +0 -428
  306. package/dist/design-system/data-display/tree.js.map +0 -1
  307. package/dist/design-system/forms/autocomplete.d.ts +0 -163
  308. package/dist/design-system/forms/autocomplete.d.ts.map +0 -1
  309. package/dist/design-system/forms/autocomplete.js +0 -455
  310. package/dist/design-system/forms/autocomplete.js.map +0 -1
  311. package/dist/design-system/forms/button.d.ts +0 -106
  312. package/dist/design-system/forms/button.d.ts.map +0 -1
  313. package/dist/design-system/forms/button.js +0 -170
  314. package/dist/design-system/forms/button.js.map +0 -1
  315. package/dist/design-system/forms/multi-select.d.ts +0 -102
  316. package/dist/design-system/forms/multi-select.d.ts.map +0 -1
  317. package/dist/design-system/forms/multi-select.js +0 -309
  318. package/dist/design-system/forms/multi-select.js.map +0 -1
  319. package/dist/design-system/forms/radio-group.d.ts +0 -88
  320. package/dist/design-system/forms/radio-group.d.ts.map +0 -1
  321. package/dist/design-system/forms/radio-group.js +0 -145
  322. package/dist/design-system/forms/radio-group.js.map +0 -1
  323. package/dist/design-system/forms/select.d.ts +0 -116
  324. package/dist/design-system/forms/select.d.ts.map +0 -1
  325. package/dist/design-system/forms/select.js +0 -441
  326. package/dist/design-system/forms/select.js.map +0 -1
  327. package/dist/design-system/forms/slider.d.ts +0 -134
  328. package/dist/design-system/forms/slider.d.ts.map +0 -1
  329. package/dist/design-system/forms/slider.js +0 -314
  330. package/dist/design-system/forms/slider.js.map +0 -1
  331. package/dist/design-system/forms/switch.d.ts +0 -99
  332. package/dist/design-system/forms/switch.d.ts.map +0 -1
  333. package/dist/design-system/forms/switch.js +0 -173
  334. package/dist/design-system/forms/switch.js.map +0 -1
  335. package/dist/design-system/forms/text-input.d.ts +0 -79
  336. package/dist/design-system/forms/text-input.d.ts.map +0 -1
  337. package/dist/design-system/forms/text-input.js +0 -344
  338. package/dist/design-system/forms/text-input.js.map +0 -1
  339. package/dist/design-system/layout/collapsible.d.ts +0 -166
  340. package/dist/design-system/layout/collapsible.d.ts.map +0 -1
  341. package/dist/design-system/layout/collapsible.js +0 -286
  342. package/dist/design-system/layout/collapsible.js.map +0 -1
  343. package/dist/design-system/layout/scroll-area.d.ts +0 -188
  344. package/dist/design-system/layout/scroll-area.d.ts.map +0 -1
  345. package/dist/design-system/layout/scroll-area.js +0 -348
  346. package/dist/design-system/layout/scroll-area.js.map +0 -1
  347. package/dist/design-system/layout/split-panel.d.ts +0 -183
  348. package/dist/design-system/layout/split-panel.d.ts.map +0 -1
  349. package/dist/design-system/layout/split-panel.js +0 -323
  350. package/dist/design-system/layout/split-panel.js.map +0 -1
  351. package/dist/design-system/layout/tabs.d.ts +0 -129
  352. package/dist/design-system/layout/tabs.d.ts.map +0 -1
  353. package/dist/design-system/layout/tabs.js +0 -373
  354. package/dist/design-system/layout/tabs.js.map +0 -1
  355. package/dist/design-system/overlays/command-palette.d.ts +0 -217
  356. package/dist/design-system/overlays/command-palette.d.ts.map +0 -1
  357. package/dist/design-system/overlays/command-palette.js +0 -443
  358. package/dist/design-system/overlays/command-palette.js.map +0 -1
  359. package/dist/design-system/overlays/modal.d.ts +0 -251
  360. package/dist/design-system/overlays/modal.d.ts.map +0 -1
  361. package/dist/design-system/overlays/modal.js +0 -461
  362. package/dist/design-system/overlays/modal.js.map +0 -1
  363. package/dist/design-system/overlays/overlay-stack.d.ts +0 -200
  364. package/dist/design-system/overlays/overlay-stack.d.ts.map +0 -1
  365. package/dist/design-system/overlays/overlay-stack.js +0 -341
  366. package/dist/design-system/overlays/overlay-stack.js.map +0 -1
  367. package/dist/design-system/primitives/box.d.ts +0 -16
  368. package/dist/design-system/primitives/box.d.ts.map +0 -1
  369. package/dist/design-system/primitives/box.js +0 -23
  370. package/dist/design-system/primitives/box.js.map +0 -1
  371. package/dist/design-system/primitives/divider.d.ts +0 -52
  372. package/dist/design-system/primitives/divider.d.ts.map +0 -1
  373. package/dist/design-system/primitives/divider.js +0 -72
  374. package/dist/design-system/primitives/divider.js.map +0 -1
  375. package/dist/design-system/primitives/helpers.d.ts +0 -10
  376. package/dist/design-system/primitives/helpers.d.ts.map +0 -1
  377. package/dist/design-system/primitives/helpers.js +0 -27
  378. package/dist/design-system/primitives/helpers.js.map +0 -1
  379. package/dist/design-system/primitives/index.d.ts +0 -11
  380. package/dist/design-system/primitives/index.d.ts.map +0 -1
  381. package/dist/design-system/primitives/index.js +0 -14
  382. package/dist/design-system/primitives/index.js.map +0 -1
  383. package/dist/design-system/primitives/slot.d.ts +0 -35
  384. package/dist/design-system/primitives/slot.d.ts.map +0 -1
  385. package/dist/design-system/primitives/slot.js +0 -17
  386. package/dist/design-system/primitives/slot.js.map +0 -1
  387. package/dist/design-system/primitives/spacer.d.ts +0 -34
  388. package/dist/design-system/primitives/spacer.d.ts.map +0 -1
  389. package/dist/design-system/primitives/spacer.js +0 -53
  390. package/dist/design-system/primitives/spacer.js.map +0 -1
  391. package/dist/design-system/primitives/text.d.ts +0 -12
  392. package/dist/design-system/primitives/text.d.ts.map +0 -1
  393. package/dist/design-system/primitives/text.js +0 -25
  394. package/dist/design-system/primitives/text.js.map +0 -1
  395. package/dist/design-system/primitives/utilities.d.ts +0 -70
  396. package/dist/design-system/primitives/utilities.d.ts.map +0 -1
  397. package/dist/design-system/primitives/utilities.js +0 -56
  398. package/dist/design-system/primitives/utilities.js.map +0 -1
  399. package/dist/storybook/cli.d.ts +0 -10
  400. package/dist/storybook/cli.d.ts.map +0 -1
  401. package/dist/storybook/cli.js +0 -14
  402. package/dist/storybook/cli.js.map +0 -1
@@ -1,441 +0,0 @@
1
- /**
2
- * Select - Interactive selection component
3
- *
4
- * Features:
5
- * - Single and multi-select modes
6
- * - Keyboard navigation (arrows, vim keys, search)
7
- * - Type-ahead search/filtering
8
- * - Visual indicators (cursor, checkboxes)
9
- * - Grouping with headers
10
- * - Pagination for large lists
11
- * - Custom item rendering
12
- * - Disabled items
13
- * - Descriptions and hints
14
- */
15
- import { Box, Text } from '../../primitives/nodes.js';
16
- import { createSignal } from '../../primitives/signal.js';
17
- import { useInput } from '../../hooks/index.js';
18
- import { themeColor } from '../../core/theme.js';
19
- import { getChars, getRenderMode } from '../../core/capabilities.js';
20
- /**
21
- * Create a select state manager
22
- */
23
- export function createSelect(options) {
24
- const { items, multiple = false, initialValue, maxVisible = 10, searchable = false, onChange, isActive: isActiveProp = true, } = options;
25
- // Helper to check if select is currently active
26
- // Supports both static boolean and reactive getter function
27
- const checkIsActive = () => {
28
- return typeof isActiveProp === 'function' ? isActiveProp() : isActiveProp;
29
- };
30
- // Initialize selected values
31
- let initialSelected = [];
32
- if (multiple) {
33
- if (Array.isArray(initialValue)) {
34
- initialSelected = initialValue;
35
- }
36
- else if (initialValue !== undefined) {
37
- initialSelected = [initialValue];
38
- }
39
- }
40
- else if (initialValue !== undefined) {
41
- initialSelected = [initialValue];
42
- }
43
- const [cursorIndex, setCursorIndex] = createSignal(0);
44
- const [selected, setSelected] = createSignal(initialSelected);
45
- const [scrollOffset, setScrollOffset] = createSignal(0);
46
- const [searchQuery, setSearchQuery] = createSignal('');
47
- const [isSearching, setIsSearching] = createSignal(false);
48
- // Filter items based on search
49
- const getFilteredItems = () => {
50
- const query = searchQuery().toLowerCase();
51
- if (!query)
52
- return items;
53
- return items.filter((item) => item.label.toLowerCase().includes(query) ||
54
- item.description?.toLowerCase().includes(query));
55
- };
56
- // Get visible items based on scroll
57
- const getVisibleItems = () => {
58
- const filtered = getFilteredItems();
59
- const offset = scrollOffset();
60
- const visible = filtered.slice(offset, offset + maxVisible);
61
- return { items: visible, startIndex: offset };
62
- };
63
- // Navigation
64
- const moveUp = () => {
65
- const filtered = getFilteredItems();
66
- setCursorIndex((i) => {
67
- let newIndex = i - 1;
68
- // Skip disabled items
69
- while (newIndex >= 0 && filtered[newIndex]?.disabled) {
70
- newIndex--;
71
- }
72
- if (newIndex < 0)
73
- newIndex = i; // Stay at current if can't move
74
- // Adjust scroll
75
- if (newIndex < scrollOffset()) {
76
- setScrollOffset(newIndex);
77
- }
78
- return newIndex;
79
- });
80
- };
81
- const moveDown = () => {
82
- const filtered = getFilteredItems();
83
- setCursorIndex((i) => {
84
- let newIndex = i + 1;
85
- // Skip disabled items
86
- while (newIndex < filtered.length && filtered[newIndex]?.disabled) {
87
- newIndex++;
88
- }
89
- if (newIndex >= filtered.length)
90
- newIndex = i; // Stay at current if can't move
91
- // Adjust scroll
92
- if (newIndex >= scrollOffset() + maxVisible) {
93
- setScrollOffset(newIndex - maxVisible + 1);
94
- }
95
- return newIndex;
96
- });
97
- };
98
- const moveToTop = () => {
99
- setCursorIndex(0);
100
- setScrollOffset(0);
101
- };
102
- const moveToBottom = () => {
103
- const filtered = getFilteredItems();
104
- const lastIndex = filtered.length - 1;
105
- setCursorIndex(lastIndex);
106
- setScrollOffset(Math.max(0, filtered.length - maxVisible));
107
- };
108
- // Selection
109
- const toggleSelection = () => {
110
- const filtered = getFilteredItems();
111
- const item = filtered[cursorIndex()];
112
- if (!item || item.disabled)
113
- return;
114
- if (multiple) {
115
- setSelected((prev) => {
116
- const newSelected = prev.includes(item.value)
117
- ? prev.filter((v) => v !== item.value)
118
- : [...prev, item.value];
119
- onChange?.(newSelected);
120
- return newSelected;
121
- });
122
- }
123
- else {
124
- setSelected([item.value]);
125
- onChange?.(item.value);
126
- }
127
- };
128
- const selectAll = () => {
129
- if (!multiple)
130
- return;
131
- const filtered = getFilteredItems();
132
- const allValues = filtered.filter((i) => !i.disabled).map((i) => i.value);
133
- setSelected(allValues);
134
- onChange?.(allValues);
135
- };
136
- const selectNone = () => {
137
- setSelected([]);
138
- onChange?.(multiple ? [] : undefined);
139
- };
140
- // Search
141
- const updateSearch = (query) => {
142
- setSearchQuery(query);
143
- setCursorIndex(0);
144
- setScrollOffset(0);
145
- };
146
- // Input handling
147
- const handleInput = (input, key) => {
148
- // Check isActive dynamically at input time (supports reactive getter)
149
- if (!checkIsActive())
150
- return;
151
- // Escape - cancel search or component
152
- if (key.escape) {
153
- if (isSearching()) {
154
- setIsSearching(false);
155
- setSearchQuery('');
156
- }
157
- else {
158
- options.onCancel?.();
159
- }
160
- return;
161
- }
162
- // Enter - submit
163
- if (key.return) {
164
- if (isSearching()) {
165
- setIsSearching(false);
166
- }
167
- else {
168
- const value = multiple ? selected() : selected()[0];
169
- options.onSubmit?.(value);
170
- }
171
- return;
172
- }
173
- // Search mode handling
174
- if (isSearching()) {
175
- if (key.backspace) {
176
- updateSearch(searchQuery().slice(0, -1));
177
- return;
178
- }
179
- if (input && input.length === 1 && !key.ctrl && !key.meta) {
180
- updateSearch(searchQuery() + input);
181
- return;
182
- }
183
- }
184
- // Navigation
185
- if (key.upArrow || (key.ctrl && input === 'p')) {
186
- moveUp();
187
- return;
188
- }
189
- if (key.downArrow || (key.ctrl && input === 'n')) {
190
- moveDown();
191
- return;
192
- }
193
- // Vim keys (when not searching)
194
- if (!isSearching()) {
195
- if (input === 'k') {
196
- moveUp();
197
- return;
198
- }
199
- if (input === 'j') {
200
- moveDown();
201
- return;
202
- }
203
- if (input === 'g') {
204
- moveToTop();
205
- return;
206
- }
207
- if (input === 'G') {
208
- moveToBottom();
209
- return;
210
- }
211
- }
212
- // Home/End
213
- if (key.home) {
214
- moveToTop();
215
- return;
216
- }
217
- if (key.end) {
218
- moveToBottom();
219
- return;
220
- }
221
- // Space - toggle selection
222
- if (input === ' ') {
223
- toggleSelection();
224
- return;
225
- }
226
- // Tab in multi-select - toggle and move
227
- if (key.tab && multiple) {
228
- toggleSelection();
229
- if (key.shift) {
230
- moveUp();
231
- }
232
- else {
233
- moveDown();
234
- }
235
- return;
236
- }
237
- // Ctrl+A - select all (multi)
238
- if (key.ctrl && input === 'a' && multiple) {
239
- selectAll();
240
- return;
241
- }
242
- // Ctrl+D - deselect all
243
- if (key.ctrl && input === 'd') {
244
- selectNone();
245
- return;
246
- }
247
- // / - start search
248
- if (input === '/' && searchable && !isSearching()) {
249
- setIsSearching(true);
250
- return;
251
- }
252
- // Type-ahead search (when searchable and not in search mode)
253
- if (searchable && input && input.length === 1 && !key.ctrl && !key.meta && !isSearching()) {
254
- setIsSearching(true);
255
- updateSearch(input);
256
- }
257
- };
258
- // Register input handler
259
- // Note: We always register and check isActive dynamically in handleInput
260
- // This allows isActive to be a reactive getter function
261
- useInput(handleInput);
262
- // Select specific index (for mouse clicks)
263
- const selectIndex = (index) => {
264
- const filtered = getFilteredItems();
265
- if (index < 0 || index >= filtered.length)
266
- return;
267
- const item = filtered[index];
268
- if (item?.disabled)
269
- return;
270
- setCursorIndex(index);
271
- // Adjust scroll if needed
272
- if (index < scrollOffset()) {
273
- setScrollOffset(index);
274
- }
275
- else if (index >= scrollOffset() + maxVisible) {
276
- setScrollOffset(index - maxVisible + 1);
277
- }
278
- // Toggle selection
279
- if (multiple) {
280
- setSelected((prev) => {
281
- const newSelected = prev.includes(item.value)
282
- ? prev.filter((v) => v !== item.value)
283
- : [...prev, item.value];
284
- onChange?.(newSelected);
285
- return newSelected;
286
- });
287
- }
288
- else {
289
- setSelected([item.value]);
290
- onChange?.(item.value);
291
- }
292
- };
293
- return {
294
- cursorIndex,
295
- selected,
296
- scrollOffset,
297
- searchQuery,
298
- isSearching,
299
- getFilteredItems,
300
- getVisibleItems,
301
- toggleSelection,
302
- selectAll,
303
- selectNone,
304
- moveUp,
305
- moveDown,
306
- selectIndex,
307
- };
308
- }
309
- /**
310
- * Render a select component
311
- */
312
- export function renderSelect(state, options) {
313
- const chars = getChars();
314
- const isAscii = getRenderMode() === 'ascii';
315
- const { multiple = false, cursorIndicator = chars.arrows.right, selectedIndicator = chars.radio.selected, checkedIndicator = chars.checkbox.checked, uncheckedIndicator = chars.checkbox.unchecked, activeColor = themeColor('info'), selectedColor = themeColor('success'), disabledColor = themeColor('mutedForeground'), showCount = true, searchable = false, searchPlaceholder = 'Type to search...', fullWidth = false, } = options;
316
- const { items: visibleItems, startIndex } = state.getVisibleItems();
317
- const filtered = state.getFilteredItems();
318
- const selected = state.selected();
319
- const cursor = state.cursorIndex();
320
- const isSearching = state.isSearching();
321
- const searchQuery = state.searchQuery();
322
- const rows = [];
323
- // Search input
324
- if (searchable && (isSearching || searchQuery)) {
325
- const searchIcon = isAscii ? '/' : '🔍';
326
- rows.push(Box({ flexDirection: 'row', marginBottom: 1 }, Text({ color: activeColor }, `${searchIcon} `), searchQuery
327
- ? Text({ color: themeColor('foreground') }, searchQuery)
328
- : Text({ color: themeColor('mutedForeground'), dim: true }, searchPlaceholder), isSearching ? Text({ backgroundColor: themeColor('foreground'), color: themeColor('background') }, ' ') : Text({}, '')));
329
- }
330
- // Track last group header
331
- let lastGroup;
332
- // Render visible items
333
- for (let i = 0; i < visibleItems.length; i++) {
334
- const item = visibleItems[i];
335
- const actualIndex = startIndex + i;
336
- const isActive = actualIndex === cursor;
337
- const isSelected = selected.includes(item.value);
338
- // Group header
339
- if (item.group && item.group !== lastGroup) {
340
- lastGroup = item.group;
341
- const hr = chars.border.horizontal.repeat(2);
342
- rows.push(Box({ marginTop: i > 0 ? 1 : 0, marginBottom: 0 }, Text({ color: themeColor('warning'), bold: true }, `${hr} ${item.group} ${hr}`)));
343
- }
344
- // Build item row
345
- const parts = [];
346
- // Cursor indicator
347
- parts.push(Text({ color: activeColor }, isActive ? cursorIndicator + ' ' : ' '));
348
- // Selection indicator
349
- if (multiple) {
350
- parts.push(Text({ color: isSelected ? selectedColor : themeColor('mutedForeground') }, isSelected ? checkedIndicator + ' ' : uncheckedIndicator + ' '));
351
- }
352
- else if (isSelected) {
353
- parts.push(Text({ color: selectedColor }, selectedIndicator + ' '));
354
- }
355
- // Icon
356
- if (item.icon) {
357
- parts.push(Text({ color: item.color ?? 'white' }, item.icon + ' '));
358
- }
359
- // Label
360
- const labelColor = item.disabled
361
- ? disabledColor
362
- : isActive
363
- ? activeColor
364
- : isSelected
365
- ? selectedColor
366
- : item.color ?? 'white';
367
- parts.push(Text({
368
- color: labelColor,
369
- bold: isActive,
370
- dim: item.disabled,
371
- strikethrough: item.disabled,
372
- }, item.label));
373
- // Description
374
- if (item.description) {
375
- parts.push(Text({ color: 'gray', dim: true }, ` - ${item.description}`));
376
- }
377
- // Item row with onClick handler
378
- rows.push(Box({
379
- flexDirection: 'row',
380
- onClick: item.disabled ? undefined : () => state.selectIndex(actualIndex),
381
- }, ...parts));
382
- }
383
- // Scroll indicators
384
- const scrollOffset = state.scrollOffset();
385
- const arrowUp = chars.arrows.up;
386
- const arrowDown = chars.arrows.down;
387
- if (scrollOffset > 0) {
388
- rows.unshift(Box({ flexDirection: 'row' }, Text({ color: themeColor('mutedForeground'), dim: true }, ` ${arrowUp} more above`)));
389
- }
390
- if (scrollOffset + visibleItems.length < filtered.length) {
391
- rows.push(Box({ flexDirection: 'row' }, Text({ color: themeColor('mutedForeground'), dim: true }, ` ${arrowDown} more below`)));
392
- }
393
- // Count footer
394
- if (showCount) {
395
- const countText = multiple
396
- ? `${selected.length} selected of ${filtered.length}`
397
- : `${filtered.length} items`;
398
- rows.push(Box({ marginTop: 1 }, Text({ color: 'gray', dim: true }, countText)));
399
- }
400
- // Handle mouse scroll events
401
- const handleScroll = (event) => {
402
- if (event.button === 'scroll-up') {
403
- state.moveUp();
404
- }
405
- else if (event.button === 'scroll-down') {
406
- state.moveDown();
407
- }
408
- };
409
- return Box({ flexDirection: 'column', flexGrow: fullWidth ? 1 : 0, onScroll: handleScroll }, ...rows);
410
- }
411
- /**
412
- * Simple standalone Select component
413
- */
414
- export function Select(options) {
415
- const state = createSelect(options);
416
- return renderSelect(state, options);
417
- }
418
- /**
419
- * Confirmation dialog
420
- */
421
- export function Confirm(options) {
422
- const { message, defaultValue = false, yesLabel = 'Yes', noLabel = 'No', onConfirm, isActive = true, } = options;
423
- const items = [
424
- { value: true, label: yesLabel },
425
- { value: false, label: noLabel },
426
- ];
427
- return Box({ flexDirection: 'column' }, Box({ marginBottom: 1 }, Text({ color: themeColor('warning') }, '? '), Text({ color: themeColor('foreground'), bold: true }, message)), Select({
428
- items,
429
- initialValue: defaultValue,
430
- onSubmit: (value) => onConfirm?.(value),
431
- isActive,
432
- showCount: false,
433
- }));
434
- }
435
- /**
436
- * Multi-choice checkbox list
437
- */
438
- export function Checkbox(options) {
439
- return Select({ ...options, multiple: true });
440
- }
441
- //# sourceMappingURL=select.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/design-system/forms/select.ts"],"names":[],"mappings":"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"}
@@ -1,134 +0,0 @@
1
- /**
2
- * Slider - Numeric value slider
3
- *
4
- * Features:
5
- * - Keyboard-driven value selection
6
- * - Step increments
7
- * - Range constraints
8
- * - Visual track and thumb
9
- * - Value display
10
- */
11
- import type { VNode, ColorValue } from '../../utils/types.js';
12
- export interface SliderOptions {
13
- /** Minimum value */
14
- min?: number;
15
- /** Maximum value */
16
- max?: number;
17
- /** Step increment */
18
- step?: number;
19
- /** Initial value */
20
- initialValue?: number;
21
- /** Slider width in characters */
22
- width?: number;
23
- /** Show current value */
24
- showValue?: boolean;
25
- /** Show min/max labels */
26
- showMinMax?: boolean;
27
- /** Value formatter */
28
- formatValue?: (value: number) => string;
29
- /** Filled track color */
30
- filledColor?: ColorValue;
31
- /** Empty track color */
32
- emptyColor?: ColorValue;
33
- /** Thumb color */
34
- thumbColor?: ColorValue;
35
- /** Is disabled */
36
- disabled?: boolean;
37
- /** Callbacks */
38
- onChange?: (value: number) => void;
39
- /** Is active */
40
- isActive?: boolean;
41
- }
42
- export interface SliderState {
43
- value: () => number;
44
- normalized: () => number;
45
- increment: () => void;
46
- decrement: () => void;
47
- incrementLarge: () => void;
48
- decrementLarge: () => void;
49
- setValue: (value: number) => void;
50
- setNormalized: (normalized: number) => void;
51
- }
52
- /**
53
- * Create a Slider state manager
54
- */
55
- export declare function createSlider(options?: SliderOptions): SliderState;
56
- export interface SliderProps extends SliderOptions {
57
- /** Pre-created state */
58
- state?: SliderState;
59
- /** Label */
60
- label?: string;
61
- }
62
- /**
63
- * Slider - Numeric value slider
64
- *
65
- * @example
66
- * // Basic slider
67
- * Slider({
68
- * min: 0,
69
- * max: 100,
70
- * initialValue: 50,
71
- * onChange: (value) => console.log(value),
72
- * })
73
- *
74
- * @example
75
- * // Volume control
76
- * Slider({
77
- * label: 'Volume',
78
- * min: 0,
79
- * max: 100,
80
- * showValue: true,
81
- * formatValue: (v) => `${v}%`,
82
- * filledColor: 'green',
83
- * })
84
- */
85
- export declare function Slider(props: SliderProps): VNode;
86
- export interface RangeSliderOptions {
87
- /** Minimum value */
88
- min?: number;
89
- /** Maximum value */
90
- max?: number;
91
- /** Step increment */
92
- step?: number;
93
- /** Initial range [start, end] */
94
- initialValue?: [number, number];
95
- /** Slider width */
96
- width?: number;
97
- /** Show values */
98
- showValue?: boolean;
99
- /** Value formatter */
100
- formatValue?: (value: number) => string;
101
- /** Range color */
102
- rangeColor?: ColorValue;
103
- /** Track color */
104
- trackColor?: ColorValue;
105
- /** Callbacks */
106
- onChange?: (range: [number, number]) => void;
107
- /** Is active */
108
- isActive?: boolean;
109
- }
110
- export interface RangeSliderState {
111
- range: () => [number, number];
112
- activeThumb: () => 'start' | 'end';
113
- switchThumb: () => void;
114
- increment: () => void;
115
- decrement: () => void;
116
- setRange: (range: [number, number]) => void;
117
- }
118
- /**
119
- * Create a RangeSlider state manager
120
- */
121
- export declare function createRangeSlider(options?: RangeSliderOptions): RangeSliderState;
122
- /**
123
- * RangeSlider - Two-thumb range selection
124
- *
125
- * @example
126
- * RangeSlider({
127
- * min: 0,
128
- * max: 100,
129
- * initialValue: [20, 80],
130
- * onChange: ([start, end]) => console.log(start, end),
131
- * })
132
- */
133
- export declare function RangeSlider(props: RangeSliderOptions): VNode;
134
- //# sourceMappingURL=slider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../src/design-system/forms/slider.ts"],"names":[],"mappings":"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"}