tuiuiu.js 0.1.1 → 0.1.4-next.64ff654

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (402) hide show
  1. package/README.md +67 -36
  2. package/dist/atoms/button.d.ts.map +1 -1
  3. package/dist/atoms/button.js +17 -9
  4. package/dist/atoms/button.js.map +1 -1
  5. package/dist/atoms/text-input.d.ts +2 -0
  6. package/dist/atoms/text-input.d.ts.map +1 -1
  7. package/dist/atoms/text-input.js +13 -7
  8. package/dist/atoms/text-input.js.map +1 -1
  9. package/dist/atoms/tooltip.d.ts.map +1 -1
  10. package/dist/atoms/tooltip.js +2 -1
  11. package/dist/atoms/tooltip.js.map +1 -1
  12. package/dist/cli/commands/help.d.ts +5 -0
  13. package/dist/cli/commands/help.d.ts.map +1 -0
  14. package/dist/cli/commands/help.js +31 -0
  15. package/dist/cli/commands/help.js.map +1 -0
  16. package/dist/cli/commands/mcp.d.ts +11 -0
  17. package/dist/cli/commands/mcp.d.ts.map +1 -0
  18. package/dist/cli/commands/mcp.js +21 -0
  19. package/dist/cli/commands/mcp.js.map +1 -0
  20. package/dist/cli/commands/storybook.d.ts +5 -0
  21. package/dist/cli/commands/storybook.d.ts.map +1 -0
  22. package/dist/cli/commands/storybook.js +9 -0
  23. package/dist/cli/commands/storybook.js.map +1 -0
  24. package/dist/cli/index.d.ts +14 -0
  25. package/dist/cli/index.d.ts.map +1 -0
  26. package/dist/cli/index.js +50 -0
  27. package/dist/cli/index.js.map +1 -0
  28. package/dist/core/error-boundary.d.ts.map +1 -1
  29. package/dist/core/error-boundary.js +2 -1
  30. package/dist/core/error-boundary.js.map +1 -1
  31. package/dist/core/hotkeys.d.ts +62 -0
  32. package/dist/core/hotkeys.d.ts.map +1 -0
  33. package/dist/core/hotkeys.js +0 -0
  34. package/dist/core/hotkeys.js.map +1 -0
  35. package/dist/core/index.d.ts +3 -1
  36. package/dist/core/index.d.ts.map +1 -1
  37. package/dist/core/index.js +9 -1
  38. package/dist/core/index.js.map +1 -1
  39. package/dist/core/screen.d.ts.map +1 -1
  40. package/dist/core/screen.js +2 -0
  41. package/dist/core/screen.js.map +1 -1
  42. package/dist/core/theme.d.ts +79 -0
  43. package/dist/core/theme.d.ts.map +1 -1
  44. package/dist/core/theme.js +358 -0
  45. package/dist/core/theme.js.map +1 -1
  46. package/dist/design-system/data-display/index.d.ts +9 -6
  47. package/dist/design-system/data-display/index.d.ts.map +1 -1
  48. package/dist/design-system/data-display/index.js +16 -7
  49. package/dist/design-system/data-display/index.js.map +1 -1
  50. package/dist/design-system/feedback/badge.d.ts +21 -4
  51. package/dist/design-system/feedback/badge.d.ts.map +1 -1
  52. package/dist/design-system/feedback/badge.js +15 -2
  53. package/dist/design-system/feedback/badge.js.map +1 -1
  54. package/dist/design-system/forms/index.d.ts +11 -8
  55. package/dist/design-system/forms/index.d.ts.map +1 -1
  56. package/dist/design-system/forms/index.js +19 -10
  57. package/dist/design-system/forms/index.js.map +1 -1
  58. package/dist/design-system/layout/index.d.ts +7 -4
  59. package/dist/design-system/layout/index.d.ts.map +1 -1
  60. package/dist/design-system/layout/index.js +18 -6
  61. package/dist/design-system/layout/index.js.map +1 -1
  62. package/dist/design-system/media/picture.d.ts.map +1 -1
  63. package/dist/design-system/media/picture.js +2 -1
  64. package/dist/design-system/media/picture.js.map +1 -1
  65. package/dist/design-system/overlays/index.d.ts +6 -3
  66. package/dist/design-system/overlays/index.d.ts.map +1 -1
  67. package/dist/design-system/overlays/index.js +9 -3
  68. package/dist/design-system/overlays/index.js.map +1 -1
  69. package/dist/design-system/visual/splash-screen.d.ts.map +1 -1
  70. package/dist/design-system/visual/splash-screen.js +38 -18
  71. package/dist/design-system/visual/splash-screen.js.map +1 -1
  72. package/dist/hooks/index.d.ts +2 -0
  73. package/dist/hooks/index.d.ts.map +1 -1
  74. package/dist/hooks/index.js +2 -0
  75. package/dist/hooks/index.js.map +1 -1
  76. package/dist/hooks/use-hotkeys.d.ts +153 -0
  77. package/dist/hooks/use-hotkeys.d.ts.map +1 -0
  78. package/dist/hooks/use-hotkeys.js +379 -0
  79. package/dist/hooks/use-hotkeys.js.map +1 -0
  80. package/dist/hooks/use-input.d.ts +2 -10
  81. package/dist/hooks/use-input.d.ts.map +1 -1
  82. package/dist/hooks/use-input.js +2 -287
  83. package/dist/hooks/use-input.js.map +1 -1
  84. package/dist/hooks/use-mouse.d.ts +5 -0
  85. package/dist/hooks/use-mouse.d.ts.map +1 -1
  86. package/dist/hooks/use-mouse.js +29 -11
  87. package/dist/hooks/use-mouse.js.map +1 -1
  88. package/dist/index.d.ts +6 -4
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +15 -3
  91. package/dist/index.js.map +1 -1
  92. package/dist/mcp/docs-data.d.ts +31 -0
  93. package/dist/mcp/docs-data.d.ts.map +1 -0
  94. package/dist/mcp/docs-data.js +637 -0
  95. package/dist/mcp/docs-data.js.map +1 -0
  96. package/dist/mcp/index.d.ts +14 -0
  97. package/dist/mcp/index.d.ts.map +1 -0
  98. package/dist/mcp/index.js +12 -0
  99. package/dist/mcp/index.js.map +1 -0
  100. package/dist/mcp/server.d.ts +31 -0
  101. package/dist/mcp/server.d.ts.map +1 -0
  102. package/dist/mcp/server.js +597 -0
  103. package/dist/mcp/server.js.map +1 -0
  104. package/dist/mcp/types.d.ts +114 -0
  105. package/dist/mcp/types.d.ts.map +1 -0
  106. package/dist/mcp/types.js +16 -0
  107. package/dist/mcp/types.js.map +1 -0
  108. package/dist/molecules/autocomplete.d.ts.map +1 -1
  109. package/dist/molecules/autocomplete.js +2 -1
  110. package/dist/molecules/autocomplete.js.map +1 -1
  111. package/dist/molecules/calendar.d.ts.map +1 -1
  112. package/dist/molecules/calendar.js +5 -3
  113. package/dist/molecules/calendar.js.map +1 -1
  114. package/dist/molecules/data-viz/annotations.d.ts +75 -0
  115. package/dist/molecules/data-viz/annotations.d.ts.map +1 -0
  116. package/dist/molecules/data-viz/annotations.js +40 -0
  117. package/dist/molecules/data-viz/annotations.js.map +1 -0
  118. package/dist/molecules/data-viz/gantt-chart.d.ts +66 -0
  119. package/dist/molecules/data-viz/gantt-chart.d.ts.map +1 -0
  120. package/dist/molecules/data-viz/gantt-chart.js +134 -0
  121. package/dist/molecules/data-viz/gantt-chart.js.map +1 -0
  122. package/dist/molecules/data-viz/gauge.d.ts +2 -2
  123. package/dist/molecules/data-viz/gauge.d.ts.map +1 -1
  124. package/dist/molecules/data-viz/gauge.js +24 -8
  125. package/dist/molecules/data-viz/gauge.js.map +1 -1
  126. package/dist/molecules/data-viz/heatmap.d.ts +8 -2
  127. package/dist/molecules/data-viz/heatmap.d.ts.map +1 -1
  128. package/dist/molecules/data-viz/heatmap.js +41 -9
  129. package/dist/molecules/data-viz/heatmap.js.map +1 -1
  130. package/dist/molecules/data-viz/hooks.d.ts +264 -0
  131. package/dist/molecules/data-viz/hooks.d.ts.map +1 -0
  132. package/dist/molecules/data-viz/hooks.js +373 -0
  133. package/dist/molecules/data-viz/hooks.js.map +1 -0
  134. package/dist/molecules/data-viz/index.d.ts +14 -0
  135. package/dist/molecules/data-viz/index.d.ts.map +1 -1
  136. package/dist/molecules/data-viz/index.js +14 -0
  137. package/dist/molecules/data-viz/index.js.map +1 -1
  138. package/dist/molecules/data-viz/legend.d.ts +82 -0
  139. package/dist/molecules/data-viz/legend.d.ts.map +1 -0
  140. package/dist/molecules/data-viz/legend.js +146 -0
  141. package/dist/molecules/data-viz/legend.js.map +1 -0
  142. package/dist/molecules/data-viz/line-chart.d.ts.map +1 -1
  143. package/dist/molecules/data-viz/line-chart.js +48 -12
  144. package/dist/molecules/data-viz/line-chart.js.map +1 -1
  145. package/dist/molecules/data-viz/radar-chart.d.ts +61 -0
  146. package/dist/molecules/data-viz/radar-chart.d.ts.map +1 -0
  147. package/dist/molecules/data-viz/radar-chart.js +86 -0
  148. package/dist/molecules/data-viz/radar-chart.js.map +1 -0
  149. package/dist/molecules/data-viz/scatter-plot.d.ts +97 -0
  150. package/dist/molecules/data-viz/scatter-plot.d.ts.map +1 -0
  151. package/dist/molecules/data-viz/scatter-plot.js +205 -0
  152. package/dist/molecules/data-viz/scatter-plot.js.map +1 -0
  153. package/dist/molecules/data-viz/time-heatmap.d.ts +48 -0
  154. package/dist/molecules/data-viz/time-heatmap.d.ts.map +1 -0
  155. package/dist/molecules/data-viz/time-heatmap.js +145 -0
  156. package/dist/molecules/data-viz/time-heatmap.js.map +1 -0
  157. package/dist/molecules/select.d.ts +2 -0
  158. package/dist/molecules/select.d.ts.map +1 -1
  159. package/dist/molecules/select.js +4 -3
  160. package/dist/molecules/select.js.map +1 -1
  161. package/dist/molecules/tabs.d.ts.map +1 -1
  162. package/dist/molecules/tabs.js +14 -2
  163. package/dist/molecules/tabs.js.map +1 -1
  164. package/dist/organisms/command-palette.d.ts.map +1 -1
  165. package/dist/organisms/command-palette.js +2 -1
  166. package/dist/organisms/command-palette.js.map +1 -1
  167. package/dist/storybook/app.d.ts.map +1 -1
  168. package/dist/storybook/app.js +53 -44
  169. package/dist/storybook/app.js.map +1 -1
  170. package/dist/storybook/components/compare-view.d.ts.map +1 -1
  171. package/dist/storybook/components/compare-view.js +19 -18
  172. package/dist/storybook/components/compare-view.js.map +1 -1
  173. package/dist/storybook/components/log-viewer.d.ts.map +1 -1
  174. package/dist/storybook/components/log-viewer.js +9 -8
  175. package/dist/storybook/components/log-viewer.js.map +1 -1
  176. package/dist/storybook/components/preview.d.ts.map +1 -1
  177. package/dist/storybook/components/preview.js +34 -33
  178. package/dist/storybook/components/preview.js.map +1 -1
  179. package/dist/storybook/components/sidebar.d.ts.map +1 -1
  180. package/dist/storybook/components/sidebar.js +21 -20
  181. package/dist/storybook/components/sidebar.js.map +1 -1
  182. package/dist/storybook/stories/apps/index.d.ts.map +1 -1
  183. package/dist/storybook/stories/apps/index.js +306 -209
  184. package/dist/storybook/stories/apps/index.js.map +1 -1
  185. package/dist/storybook/stories/atoms/index.d.ts.map +1 -1
  186. package/dist/storybook/stories/atoms/index.js.map +1 -1
  187. package/dist/storybook/stories/molecules/index.d.ts +25 -0
  188. package/dist/storybook/stories/molecules/index.d.ts.map +1 -1
  189. package/dist/storybook/stories/molecules/index.js +402 -20
  190. package/dist/storybook/stories/molecules/index.js.map +1 -1
  191. package/dist/storybook/stories/organisms/index.d.ts.map +1 -1
  192. package/dist/storybook/stories/organisms/index.js +1 -1
  193. package/dist/storybook/stories/organisms/index.js.map +1 -1
  194. package/dist/utils/index.d.ts +2 -0
  195. package/dist/utils/index.d.ts.map +1 -1
  196. package/dist/utils/index.js +2 -0
  197. package/dist/utils/index.js.map +1 -1
  198. package/dist/utils/system-data.d.ts +73 -0
  199. package/dist/utils/system-data.d.ts.map +1 -0
  200. package/dist/utils/system-data.js +367 -0
  201. package/dist/utils/system-data.js.map +1 -0
  202. package/dist/version.d.ts +43 -0
  203. package/dist/version.d.ts.map +1 -0
  204. package/dist/version.js +82 -0
  205. package/dist/version.js.map +1 -0
  206. package/package.json +22 -22
  207. package/dist/components/canvas.d.ts +0 -322
  208. package/dist/components/canvas.d.ts.map +0 -1
  209. package/dist/components/canvas.js +0 -833
  210. package/dist/components/canvas.js.map +0 -1
  211. package/dist/components/code-block.d.ts +0 -75
  212. package/dist/components/code-block.d.ts.map +0 -1
  213. package/dist/components/code-block.js +0 -322
  214. package/dist/components/code-block.js.map +0 -1
  215. package/dist/components/components.d.ts +0 -122
  216. package/dist/components/components.d.ts.map +0 -1
  217. package/dist/components/components.js +0 -151
  218. package/dist/components/components.js.map +0 -1
  219. package/dist/components/data-viz/bar-chart.d.ts +0 -167
  220. package/dist/components/data-viz/bar-chart.d.ts.map +0 -1
  221. package/dist/components/data-viz/bar-chart.js +0 -375
  222. package/dist/components/data-viz/bar-chart.js.map +0 -1
  223. package/dist/components/data-viz/gauge.d.ts +0 -163
  224. package/dist/components/data-viz/gauge.d.ts.map +0 -1
  225. package/dist/components/data-viz/gauge.js +0 -451
  226. package/dist/components/data-viz/gauge.js.map +0 -1
  227. package/dist/components/data-viz/heatmap.d.ts +0 -154
  228. package/dist/components/data-viz/heatmap.d.ts.map +0 -1
  229. package/dist/components/data-viz/heatmap.js +0 -458
  230. package/dist/components/data-viz/heatmap.js.map +0 -1
  231. package/dist/components/data-viz/index.d.ts +0 -16
  232. package/dist/components/data-viz/index.d.ts.map +0 -1
  233. package/dist/components/data-viz/index.js +0 -16
  234. package/dist/components/data-viz/index.js.map +0 -1
  235. package/dist/components/data-viz/line-chart.d.ts +0 -157
  236. package/dist/components/data-viz/line-chart.d.ts.map +0 -1
  237. package/dist/components/data-viz/line-chart.js +0 -578
  238. package/dist/components/data-viz/line-chart.js.map +0 -1
  239. package/dist/components/data-viz/sparkline.d.ts +0 -156
  240. package/dist/components/data-viz/sparkline.d.ts.map +0 -1
  241. package/dist/components/data-viz/sparkline.js +0 -325
  242. package/dist/components/data-viz/sparkline.js.map +0 -1
  243. package/dist/components/grid.d.ts +0 -234
  244. package/dist/components/grid.d.ts.map +0 -1
  245. package/dist/components/grid.js +0 -719
  246. package/dist/components/grid.js.map +0 -1
  247. package/dist/components/index.d.ts +0 -33
  248. package/dist/components/index.d.ts.map +0 -1
  249. package/dist/components/index.js +0 -69
  250. package/dist/components/index.js.map +0 -1
  251. package/dist/components/markdown.d.ts +0 -52
  252. package/dist/components/markdown.d.ts.map +0 -1
  253. package/dist/components/markdown.js +0 -341
  254. package/dist/components/markdown.js.map +0 -1
  255. package/dist/components/modal.d.ts +0 -237
  256. package/dist/components/modal.d.ts.map +0 -1
  257. package/dist/components/modal.js +0 -396
  258. package/dist/components/modal.js.map +0 -1
  259. package/dist/components/progress-bar.d.ts +0 -89
  260. package/dist/components/progress-bar.d.ts.map +0 -1
  261. package/dist/components/progress-bar.js +0 -288
  262. package/dist/components/progress-bar.js.map +0 -1
  263. package/dist/components/select.d.ts +0 -114
  264. package/dist/components/select.d.ts.map +0 -1
  265. package/dist/components/select.js +0 -415
  266. package/dist/components/select.js.map +0 -1
  267. package/dist/components/spinner.d.ts +0 -71
  268. package/dist/components/spinner.d.ts.map +0 -1
  269. package/dist/components/spinner.js +0 -300
  270. package/dist/components/spinner.js.map +0 -1
  271. package/dist/components/split-panel.d.ts +0 -175
  272. package/dist/components/split-panel.d.ts.map +0 -1
  273. package/dist/components/split-panel.js +0 -322
  274. package/dist/components/split-panel.js.map +0 -1
  275. package/dist/components/table.d.ts +0 -103
  276. package/dist/components/table.d.ts.map +0 -1
  277. package/dist/components/table.js +0 -359
  278. package/dist/components/table.js.map +0 -1
  279. package/dist/components/text-input.d.ts +0 -79
  280. package/dist/components/text-input.d.ts.map +0 -1
  281. package/dist/components/text-input.js +0 -332
  282. package/dist/components/text-input.js.map +0 -1
  283. package/dist/design-system/data-display/calendar.d.ts +0 -141
  284. package/dist/design-system/data-display/calendar.d.ts.map +0 -1
  285. package/dist/design-system/data-display/calendar.js +0 -524
  286. package/dist/design-system/data-display/calendar.js.map +0 -1
  287. package/dist/design-system/data-display/code-block.d.ts +0 -75
  288. package/dist/design-system/data-display/code-block.d.ts.map +0 -1
  289. package/dist/design-system/data-display/code-block.js +0 -311
  290. package/dist/design-system/data-display/code-block.js.map +0 -1
  291. package/dist/design-system/data-display/data-table.d.ts +0 -173
  292. package/dist/design-system/data-display/data-table.d.ts.map +0 -1
  293. package/dist/design-system/data-display/data-table.js +0 -428
  294. package/dist/design-system/data-display/data-table.js.map +0 -1
  295. package/dist/design-system/data-display/markdown.d.ts +0 -52
  296. package/dist/design-system/data-display/markdown.d.ts.map +0 -1
  297. package/dist/design-system/data-display/markdown.js +0 -341
  298. package/dist/design-system/data-display/markdown.js.map +0 -1
  299. package/dist/design-system/data-display/table.d.ts +0 -103
  300. package/dist/design-system/data-display/table.d.ts.map +0 -1
  301. package/dist/design-system/data-display/table.js +0 -342
  302. package/dist/design-system/data-display/table.js.map +0 -1
  303. package/dist/design-system/data-display/tree.d.ts +0 -166
  304. package/dist/design-system/data-display/tree.d.ts.map +0 -1
  305. package/dist/design-system/data-display/tree.js +0 -428
  306. package/dist/design-system/data-display/tree.js.map +0 -1
  307. package/dist/design-system/forms/autocomplete.d.ts +0 -163
  308. package/dist/design-system/forms/autocomplete.d.ts.map +0 -1
  309. package/dist/design-system/forms/autocomplete.js +0 -455
  310. package/dist/design-system/forms/autocomplete.js.map +0 -1
  311. package/dist/design-system/forms/button.d.ts +0 -106
  312. package/dist/design-system/forms/button.d.ts.map +0 -1
  313. package/dist/design-system/forms/button.js +0 -170
  314. package/dist/design-system/forms/button.js.map +0 -1
  315. package/dist/design-system/forms/multi-select.d.ts +0 -102
  316. package/dist/design-system/forms/multi-select.d.ts.map +0 -1
  317. package/dist/design-system/forms/multi-select.js +0 -309
  318. package/dist/design-system/forms/multi-select.js.map +0 -1
  319. package/dist/design-system/forms/radio-group.d.ts +0 -88
  320. package/dist/design-system/forms/radio-group.d.ts.map +0 -1
  321. package/dist/design-system/forms/radio-group.js +0 -145
  322. package/dist/design-system/forms/radio-group.js.map +0 -1
  323. package/dist/design-system/forms/select.d.ts +0 -116
  324. package/dist/design-system/forms/select.d.ts.map +0 -1
  325. package/dist/design-system/forms/select.js +0 -441
  326. package/dist/design-system/forms/select.js.map +0 -1
  327. package/dist/design-system/forms/slider.d.ts +0 -134
  328. package/dist/design-system/forms/slider.d.ts.map +0 -1
  329. package/dist/design-system/forms/slider.js +0 -314
  330. package/dist/design-system/forms/slider.js.map +0 -1
  331. package/dist/design-system/forms/switch.d.ts +0 -99
  332. package/dist/design-system/forms/switch.d.ts.map +0 -1
  333. package/dist/design-system/forms/switch.js +0 -173
  334. package/dist/design-system/forms/switch.js.map +0 -1
  335. package/dist/design-system/forms/text-input.d.ts +0 -79
  336. package/dist/design-system/forms/text-input.d.ts.map +0 -1
  337. package/dist/design-system/forms/text-input.js +0 -344
  338. package/dist/design-system/forms/text-input.js.map +0 -1
  339. package/dist/design-system/layout/collapsible.d.ts +0 -166
  340. package/dist/design-system/layout/collapsible.d.ts.map +0 -1
  341. package/dist/design-system/layout/collapsible.js +0 -286
  342. package/dist/design-system/layout/collapsible.js.map +0 -1
  343. package/dist/design-system/layout/scroll-area.d.ts +0 -188
  344. package/dist/design-system/layout/scroll-area.d.ts.map +0 -1
  345. package/dist/design-system/layout/scroll-area.js +0 -348
  346. package/dist/design-system/layout/scroll-area.js.map +0 -1
  347. package/dist/design-system/layout/split-panel.d.ts +0 -183
  348. package/dist/design-system/layout/split-panel.d.ts.map +0 -1
  349. package/dist/design-system/layout/split-panel.js +0 -323
  350. package/dist/design-system/layout/split-panel.js.map +0 -1
  351. package/dist/design-system/layout/tabs.d.ts +0 -129
  352. package/dist/design-system/layout/tabs.d.ts.map +0 -1
  353. package/dist/design-system/layout/tabs.js +0 -373
  354. package/dist/design-system/layout/tabs.js.map +0 -1
  355. package/dist/design-system/overlays/command-palette.d.ts +0 -217
  356. package/dist/design-system/overlays/command-palette.d.ts.map +0 -1
  357. package/dist/design-system/overlays/command-palette.js +0 -443
  358. package/dist/design-system/overlays/command-palette.js.map +0 -1
  359. package/dist/design-system/overlays/modal.d.ts +0 -251
  360. package/dist/design-system/overlays/modal.d.ts.map +0 -1
  361. package/dist/design-system/overlays/modal.js +0 -461
  362. package/dist/design-system/overlays/modal.js.map +0 -1
  363. package/dist/design-system/overlays/overlay-stack.d.ts +0 -200
  364. package/dist/design-system/overlays/overlay-stack.d.ts.map +0 -1
  365. package/dist/design-system/overlays/overlay-stack.js +0 -341
  366. package/dist/design-system/overlays/overlay-stack.js.map +0 -1
  367. package/dist/design-system/primitives/box.d.ts +0 -16
  368. package/dist/design-system/primitives/box.d.ts.map +0 -1
  369. package/dist/design-system/primitives/box.js +0 -23
  370. package/dist/design-system/primitives/box.js.map +0 -1
  371. package/dist/design-system/primitives/divider.d.ts +0 -52
  372. package/dist/design-system/primitives/divider.d.ts.map +0 -1
  373. package/dist/design-system/primitives/divider.js +0 -72
  374. package/dist/design-system/primitives/divider.js.map +0 -1
  375. package/dist/design-system/primitives/helpers.d.ts +0 -10
  376. package/dist/design-system/primitives/helpers.d.ts.map +0 -1
  377. package/dist/design-system/primitives/helpers.js +0 -27
  378. package/dist/design-system/primitives/helpers.js.map +0 -1
  379. package/dist/design-system/primitives/index.d.ts +0 -11
  380. package/dist/design-system/primitives/index.d.ts.map +0 -1
  381. package/dist/design-system/primitives/index.js +0 -14
  382. package/dist/design-system/primitives/index.js.map +0 -1
  383. package/dist/design-system/primitives/slot.d.ts +0 -35
  384. package/dist/design-system/primitives/slot.d.ts.map +0 -1
  385. package/dist/design-system/primitives/slot.js +0 -17
  386. package/dist/design-system/primitives/slot.js.map +0 -1
  387. package/dist/design-system/primitives/spacer.d.ts +0 -34
  388. package/dist/design-system/primitives/spacer.d.ts.map +0 -1
  389. package/dist/design-system/primitives/spacer.js +0 -53
  390. package/dist/design-system/primitives/spacer.js.map +0 -1
  391. package/dist/design-system/primitives/text.d.ts +0 -12
  392. package/dist/design-system/primitives/text.d.ts.map +0 -1
  393. package/dist/design-system/primitives/text.js +0 -25
  394. package/dist/design-system/primitives/text.js.map +0 -1
  395. package/dist/design-system/primitives/utilities.d.ts +0 -70
  396. package/dist/design-system/primitives/utilities.d.ts.map +0 -1
  397. package/dist/design-system/primitives/utilities.js +0 -56
  398. package/dist/design-system/primitives/utilities.js.map +0 -1
  399. package/dist/storybook/cli.d.ts +0 -10
  400. package/dist/storybook/cli.d.ts.map +0 -1
  401. package/dist/storybook/cli.js +0 -14
  402. package/dist/storybook/cli.js.map +0 -1
@@ -1,79 +0,0 @@
1
- /**
2
- * TextInput - Advanced text input component
3
- *
4
- * Features:
5
- * - Full cursor navigation (arrows, Ctrl+arrows, Home/End)
6
- * - Word-based deletion (Ctrl+Backspace, Ctrl+Delete)
7
- * - Line operations (Ctrl+K, Ctrl+U)
8
- * - Input history (Up/Down arrows)
9
- * - Multi-line support (Shift+Enter)
10
- * - Visual cursor with customizable style
11
- * - Placeholder text
12
- * - Password mode (masked input)
13
- */
14
- import type { VNode } from '../../utils/types.js';
15
- export interface TextInputState {
16
- value: string;
17
- cursorPosition: number;
18
- isMultiline: boolean;
19
- historyIndex: number;
20
- }
21
- export interface TextInputOptions {
22
- /** Initial value */
23
- initialValue?: string;
24
- /** Placeholder when empty */
25
- placeholder?: string;
26
- /** Password mode - mask characters */
27
- password?: boolean;
28
- /** Character to use for password mask */
29
- maskChar?: string;
30
- /** Enable multi-line input (Shift+Enter) */
31
- multiline?: boolean;
32
- /** Max length */
33
- maxLength?: number;
34
- /** Input history for Up/Down navigation */
35
- history?: string[];
36
- /** Called on value change */
37
- onChange?: (value: string) => void;
38
- /** Called on submit (Enter) */
39
- onSubmit?: (value: string) => void;
40
- /** Called on cancel (Escape) */
41
- onCancel?: () => void;
42
- /** Is input active/focused - can be boolean or getter function for reactive updates */
43
- isActive?: boolean | (() => boolean);
44
- /** Cursor style */
45
- cursorStyle?: 'block' | 'underline' | 'bar';
46
- /** Border style */
47
- borderStyle?: 'none' | 'single' | 'round' | 'double' | 'bold';
48
- /** Border color when focused */
49
- focusedBorderColor?: string;
50
- /** Border color when unfocused */
51
- unfocusedBorderColor?: string;
52
- /** Prompt character */
53
- prompt?: string;
54
- /** Prompt color */
55
- promptColor?: string;
56
- /** Make input full width */
57
- fullWidth?: boolean;
58
- }
59
- /**
60
- * Create a TextInput state manager
61
- */
62
- export declare function createTextInput(options?: TextInputOptions): {
63
- value: () => string;
64
- cursorPosition: () => number;
65
- isMultiline: () => boolean;
66
- setValue: (v: string) => void;
67
- clear: () => void;
68
- focus: () => void;
69
- };
70
- /**
71
- * Render a text input as a VNode
72
- */
73
- export declare function renderTextInput(state: ReturnType<typeof createTextInput>, options?: TextInputOptions): VNode;
74
- export type { TextInputOptions as TextInputProps };
75
- /**
76
- * Simple standalone TextInput component
77
- */
78
- export declare function TextInput(options: TextInputOptions): VNode;
79
- //# sourceMappingURL=text-input.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text-input.d.ts","sourceRoot":"","sources":["../../../src/design-system/forms/text-input.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAMlD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;IACrC,mBAAmB;IACnB,WAAW,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,KAAK,CAAC;IAC5C,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC9D,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kCAAkC;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,gBAAqB;;;;kBA+P5C,MAAM;;;EAevB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,EACzC,OAAO,GAAE,gBAAqB,GAC7B,KAAK,CAkHP;AAED,YAAY,EAAE,gBAAgB,IAAI,cAAc,EAAE,CAAC;AAEnD;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,KAAK,CAG1D"}
@@ -1,344 +0,0 @@
1
- /**
2
- * TextInput - Advanced text input component
3
- *
4
- * Features:
5
- * - Full cursor navigation (arrows, Ctrl+arrows, Home/End)
6
- * - Word-based deletion (Ctrl+Backspace, Ctrl+Delete)
7
- * - Line operations (Ctrl+K, Ctrl+U)
8
- * - Input history (Up/Down arrows)
9
- * - Multi-line support (Shift+Enter)
10
- * - Visual cursor with customizable style
11
- * - Placeholder text
12
- * - Password mode (masked input)
13
- */
14
- import { Box, Text } from '../../primitives/nodes.js';
15
- import { createSignal } from '../../primitives/signal.js';
16
- import { useInput } from '../../hooks/index.js';
17
- import { themeColor } from '../../core/theme.js';
18
- import { getChars } from '../../core/capabilities.js';
19
- /**
20
- * Create a TextInput state manager
21
- */
22
- export function createTextInput(options = {}) {
23
- const { initialValue = '', placeholder = '', password = false, maskChar = '*', multiline = false, maxLength, history = [], onChange, onSubmit, onCancel, isActive: isActiveProp = true, } = options;
24
- // Helper to check if input is currently active
25
- // Supports both static boolean and reactive getter function
26
- const checkIsActive = () => {
27
- return typeof isActiveProp === 'function' ? isActiveProp() : isActiveProp;
28
- };
29
- const [value, setValue] = createSignal(initialValue);
30
- const [cursorPosition, setCursorPosition] = createSignal(initialValue.length);
31
- const [isMultilineMode, setIsMultilineMode] = createSignal(false);
32
- const [historyIndex, setHistoryIndex] = createSignal(-1);
33
- const [originalValue, setOriginalValue] = createSignal('');
34
- // Word boundary detection
35
- const isWordChar = (char) => /[\w]/.test(char);
36
- const findPrevWordBoundary = (text, pos) => {
37
- if (pos <= 0)
38
- return 0;
39
- let i = pos - 1;
40
- // Skip non-word chars
41
- while (i > 0 && !isWordChar(text[i]))
42
- i--;
43
- // Skip word chars
44
- while (i > 0 && isWordChar(text[i - 1]))
45
- i--;
46
- return i;
47
- };
48
- const findNextWordBoundary = (text, pos) => {
49
- if (pos >= text.length)
50
- return text.length;
51
- let i = pos;
52
- // Skip word chars
53
- while (i < text.length && isWordChar(text[i]))
54
- i++;
55
- // Skip non-word chars
56
- while (i < text.length && !isWordChar(text[i]))
57
- i++;
58
- return i;
59
- };
60
- // Input handling
61
- const handleInput = (input, key) => {
62
- // Check isActive dynamically at input time (supports reactive getter)
63
- if (!checkIsActive())
64
- return;
65
- const currentValue = value();
66
- const pos = cursorPosition();
67
- // Escape - cancel
68
- if (key.escape) {
69
- onCancel?.();
70
- return;
71
- }
72
- // Enter - submit or newline
73
- if (key.return) {
74
- if (key.shift && multiline) {
75
- // Insert newline
76
- const newValue = currentValue.slice(0, pos) + '\n' + currentValue.slice(pos);
77
- setValue(newValue);
78
- setCursorPosition(pos + 1);
79
- setIsMultilineMode(true);
80
- onChange?.(newValue);
81
- }
82
- else {
83
- // Submit
84
- onSubmit?.(currentValue);
85
- setHistoryIndex(-1);
86
- }
87
- return;
88
- }
89
- // Tab - could be used for completion
90
- if (key.tab) {
91
- // Reserved for future tab completion
92
- return;
93
- }
94
- // Cursor movement
95
- if (key.leftArrow) {
96
- if (key.ctrl) {
97
- // Move to previous word boundary
98
- setCursorPosition(findPrevWordBoundary(currentValue, pos));
99
- }
100
- else {
101
- setCursorPosition(Math.max(0, pos - 1));
102
- }
103
- return;
104
- }
105
- if (key.rightArrow) {
106
- if (key.ctrl) {
107
- // Move to next word boundary
108
- setCursorPosition(findNextWordBoundary(currentValue, pos));
109
- }
110
- else {
111
- setCursorPosition(Math.min(currentValue.length, pos + 1));
112
- }
113
- return;
114
- }
115
- // Home/End or Ctrl+A/E
116
- if (key.home || (key.ctrl && input === 'a')) {
117
- setCursorPosition(0);
118
- return;
119
- }
120
- if (key.end || (key.ctrl && input === 'e')) {
121
- setCursorPosition(currentValue.length);
122
- return;
123
- }
124
- // History navigation
125
- if (key.upArrow && history.length > 0) {
126
- const currentIndex = historyIndex();
127
- if (currentIndex === -1) {
128
- setOriginalValue(currentValue);
129
- }
130
- const newIndex = Math.min(currentIndex + 1, history.length - 1);
131
- setHistoryIndex(newIndex);
132
- const historyValue = history[history.length - 1 - newIndex];
133
- setValue(historyValue);
134
- setCursorPosition(historyValue.length);
135
- onChange?.(historyValue);
136
- return;
137
- }
138
- if (key.downArrow && historyIndex() >= 0) {
139
- const newIndex = historyIndex() - 1;
140
- setHistoryIndex(newIndex);
141
- if (newIndex < 0) {
142
- const orig = originalValue();
143
- setValue(orig);
144
- setCursorPosition(orig.length);
145
- onChange?.(orig);
146
- }
147
- else {
148
- const historyValue = history[history.length - 1 - newIndex];
149
- setValue(historyValue);
150
- setCursorPosition(historyValue.length);
151
- onChange?.(historyValue);
152
- }
153
- return;
154
- }
155
- // Deletion
156
- if (key.backspace) {
157
- if (pos > 0) {
158
- if (key.ctrl) {
159
- // Delete word before cursor
160
- const boundary = findPrevWordBoundary(currentValue, pos);
161
- const newValue = currentValue.slice(0, boundary) + currentValue.slice(pos);
162
- setValue(newValue);
163
- setCursorPosition(boundary);
164
- onChange?.(newValue);
165
- }
166
- else {
167
- // Delete single char
168
- const newValue = currentValue.slice(0, pos - 1) + currentValue.slice(pos);
169
- setValue(newValue);
170
- setCursorPosition(pos - 1);
171
- onChange?.(newValue);
172
- }
173
- }
174
- return;
175
- }
176
- if (key.delete) {
177
- if (pos < currentValue.length) {
178
- if (key.ctrl) {
179
- // Delete word after cursor
180
- const boundary = findNextWordBoundary(currentValue, pos);
181
- const newValue = currentValue.slice(0, pos) + currentValue.slice(boundary);
182
- setValue(newValue);
183
- onChange?.(newValue);
184
- }
185
- else {
186
- // Delete single char
187
- const newValue = currentValue.slice(0, pos) + currentValue.slice(pos + 1);
188
- setValue(newValue);
189
- onChange?.(newValue);
190
- }
191
- }
192
- return;
193
- }
194
- // Ctrl+K - delete to end of line
195
- if (key.ctrl && input === 'k') {
196
- const lineEnd = currentValue.indexOf('\n', pos);
197
- const endPos = lineEnd >= 0 ? lineEnd : currentValue.length;
198
- const newValue = currentValue.slice(0, pos) + currentValue.slice(endPos);
199
- setValue(newValue);
200
- onChange?.(newValue);
201
- return;
202
- }
203
- // Ctrl+U - delete to start of line
204
- if (key.ctrl && input === 'u') {
205
- const lineStart = currentValue.lastIndexOf('\n', pos - 1);
206
- const startPos = lineStart >= 0 ? lineStart + 1 : 0;
207
- const newValue = currentValue.slice(0, startPos) + currentValue.slice(pos);
208
- setValue(newValue);
209
- setCursorPosition(startPos);
210
- onChange?.(newValue);
211
- return;
212
- }
213
- // Ctrl+W - delete word before
214
- if (key.ctrl && input === 'w') {
215
- const boundary = findPrevWordBoundary(currentValue, pos);
216
- const newValue = currentValue.slice(0, boundary) + currentValue.slice(pos);
217
- setValue(newValue);
218
- setCursorPosition(boundary);
219
- onChange?.(newValue);
220
- return;
221
- }
222
- // Ctrl+X - clear all (like Ctrl+C in some terminals)
223
- if (key.ctrl && input === 'x') {
224
- setValue('');
225
- setCursorPosition(0);
226
- onChange?.('');
227
- return;
228
- }
229
- // Regular character input
230
- if (input && input.length > 0 && !key.ctrl && !key.meta) {
231
- // Check max length
232
- if (maxLength && currentValue.length + input.length > maxLength) {
233
- const remaining = maxLength - currentValue.length;
234
- if (remaining <= 0)
235
- return;
236
- input = input.slice(0, remaining);
237
- }
238
- const newValue = currentValue.slice(0, pos) + input + currentValue.slice(pos);
239
- setValue(newValue);
240
- setCursorPosition(pos + input.length);
241
- setHistoryIndex(-1);
242
- onChange?.(newValue);
243
- }
244
- };
245
- // Register input handler
246
- // Note: We always register and check isActive dynamically in handleInput
247
- // This allows isActive to be a reactive getter function
248
- useInput(handleInput);
249
- return {
250
- value,
251
- cursorPosition,
252
- isMultiline: isMultilineMode,
253
- setValue: (v) => {
254
- setValue(v);
255
- setCursorPosition(v.length);
256
- onChange?.(v);
257
- },
258
- clear: () => {
259
- setValue('');
260
- setCursorPosition(0);
261
- setHistoryIndex(-1);
262
- onChange?.('');
263
- },
264
- focus: () => {
265
- // Focus logic if needed
266
- },
267
- };
268
- }
269
- /**
270
- * Render a text input as a VNode
271
- */
272
- export function renderTextInput(state, options = {}) {
273
- const { placeholder = 'Type here...', password = false, maskChar = '*', cursorStyle = 'block', borderStyle = 'round', focusedBorderColor = themeColor('info'), unfocusedBorderColor = themeColor('border'), prompt = getChars().arrows.right, promptColor = themeColor('info'), isActive = true, fullWidth = false, } = options;
274
- const value = state.value();
275
- const cursor = state.cursorPosition();
276
- const displayValue = password ? maskChar.repeat(value.length) : value;
277
- const isEmpty = value.length === 0;
278
- // Build the input display with cursor
279
- const beforeCursor = displayValue.slice(0, cursor);
280
- const cursorChar = displayValue[cursor] || ' ';
281
- const afterCursor = displayValue.slice(cursor + 1);
282
- const showPlaceholder = isEmpty && placeholder;
283
- // Multi-line handling
284
- const lines = displayValue.split('\n');
285
- const isMultiline = lines.length > 1;
286
- // Box style based on borderStyle
287
- const noBorder = borderStyle === 'none';
288
- const boxStyle = {
289
- flexDirection: 'column',
290
- flexGrow: fullWidth ? 1 : 0,
291
- };
292
- if (!noBorder) {
293
- boxStyle.borderStyle = borderStyle;
294
- boxStyle.borderColor = isActive ? focusedBorderColor : unfocusedBorderColor;
295
- boxStyle.paddingX = 1;
296
- }
297
- if (isMultiline) {
298
- // Calculate which line the cursor is on
299
- let charCount = 0;
300
- let cursorLine = 0;
301
- let cursorCol = cursor;
302
- for (let i = 0; i < lines.length; i++) {
303
- if (charCount + lines[i].length >= cursor) {
304
- cursorLine = i;
305
- cursorCol = cursor - charCount;
306
- break;
307
- }
308
- charCount += lines[i].length + 1; // +1 for newline
309
- }
310
- return Box(boxStyle, ...lines.map((line, i) => {
311
- const linePrompt = i === 0 ? prompt : getChars().border.vertical;
312
- if (i === cursorLine && isActive) {
313
- const before = line.slice(0, cursorCol);
314
- const char = line[cursorCol] || ' ';
315
- const after = line.slice(cursorCol + 1);
316
- return Box({ flexDirection: 'row' }, Text({ color: promptColor }, `${linePrompt} `), Text({}, before), Text({ backgroundColor: 'white', color: 'black' }, char), Text({}, after));
317
- }
318
- return Box({ flexDirection: 'row' }, Text({ color: promptColor }, `${linePrompt} `), Text({}, line));
319
- }));
320
- }
321
- // Single line - simple row layout
322
- const rowStyle = {
323
- flexDirection: 'row',
324
- flexGrow: fullWidth ? 1 : 0,
325
- };
326
- if (!noBorder) {
327
- rowStyle.borderStyle = borderStyle;
328
- rowStyle.borderColor = isActive ? focusedBorderColor : unfocusedBorderColor;
329
- rowStyle.paddingX = 1;
330
- }
331
- return Box(rowStyle, Text({ color: promptColor }, `${prompt} `), showPlaceholder
332
- ? Box({ flexDirection: 'row', flexGrow: fullWidth ? 1 : 0 }, Text({ color: 'gray', dim: true }, placeholder), isActive ? Text({ backgroundColor: 'white', color: 'black' }, ' ') : Text({}, ''))
333
- : Box({ flexDirection: 'row', flexGrow: fullWidth ? 1 : 0 }, Text({}, beforeCursor), isActive
334
- ? Text({ backgroundColor: 'white', color: 'black' }, cursorChar)
335
- : Text({}, cursorChar), Text({}, afterCursor)));
336
- }
337
- /**
338
- * Simple standalone TextInput component
339
- */
340
- export function TextInput(options) {
341
- const state = createTextInput(options);
342
- return renderTextInput(state, options);
343
- }
344
- //# sourceMappingURL=text-input.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text-input.js","sourceRoot":"","sources":["../../../src/design-system/forms/text-input.ts"],"names":[],"mappings":"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"}
@@ -1,166 +0,0 @@
1
- /**
2
- * Collapsible - Expandable/collapsible sections
3
- *
4
- * Features:
5
- * - Expandable content sections
6
- * - Title with toggle indicator
7
- * - Keyboard toggle (space/enter)
8
- * - Custom icons
9
- * - Nested collapsibles
10
- */
11
- import type { VNode, ColorValue } from '../../utils/types.js';
12
- export interface CollapsibleOptions {
13
- /** Section title (required for Collapsible component) */
14
- title?: string;
15
- /** Initial expanded state */
16
- initialExpanded?: boolean;
17
- /** Title icon (when collapsed) */
18
- collapsedIcon?: string;
19
- /** Title icon (when expanded) */
20
- expandedIcon?: string;
21
- /** Title color */
22
- titleColor?: ColorValue;
23
- /** Indent content */
24
- indent?: number;
25
- /** Is disabled */
26
- disabled?: boolean;
27
- /** Callbacks */
28
- onToggle?: (expanded: boolean) => void;
29
- /** Is active */
30
- isActive?: boolean;
31
- }
32
- export interface CollapsibleState {
33
- expanded: () => boolean;
34
- toggle: () => void;
35
- expand: () => void;
36
- collapse: () => void;
37
- setExpanded: (expanded: boolean) => void;
38
- }
39
- /**
40
- * Create a Collapsible state manager
41
- */
42
- export declare function createCollapsible(options?: CollapsibleOptions): CollapsibleState;
43
- export interface CollapsibleProps extends CollapsibleOptions {
44
- /** Pre-created state */
45
- state?: CollapsibleState;
46
- /** Content when expanded */
47
- children: VNode | VNode[];
48
- }
49
- /**
50
- * Collapsible - Expandable content section
51
- *
52
- * @example
53
- * Collapsible({
54
- * title: 'Advanced Options',
55
- * children: Box({}, Text({}, 'Hidden content here'))
56
- * })
57
- *
58
- * @example
59
- * // With custom icons
60
- * Collapsible({
61
- * title: 'Details',
62
- * collapsedIcon: '📁',
63
- * expandedIcon: '📂',
64
- * children: detailsContent
65
- * })
66
- */
67
- export declare function Collapsible(props: CollapsibleProps): VNode;
68
- export interface AccordionSection {
69
- /** Unique key */
70
- key: string;
71
- /** Section title */
72
- title: string;
73
- /** Section content */
74
- content: VNode | (() => VNode);
75
- /** Section icon */
76
- icon?: string;
77
- /** Disabled state */
78
- disabled?: boolean;
79
- }
80
- export interface AccordionOptions {
81
- /** Accordion sections */
82
- sections: AccordionSection[];
83
- /** Initially expanded key */
84
- initialExpanded?: string;
85
- /** Allow multiple sections open */
86
- multiple?: boolean;
87
- /** Section gap */
88
- gap?: number;
89
- /** Title color */
90
- titleColor?: ColorValue;
91
- /** Active color */
92
- activeColor?: ColorValue;
93
- /** Callbacks */
94
- onChange?: (expanded: string[]) => void;
95
- /** Is active */
96
- isActive?: boolean;
97
- }
98
- export interface AccordionState {
99
- expanded: () => Set<string>;
100
- focusIndex: () => number;
101
- toggle: (key: string) => void;
102
- expand: (key: string) => void;
103
- collapse: (key: string) => void;
104
- expandAll: () => void;
105
- collapseAll: () => void;
106
- movePrev: () => void;
107
- moveNext: () => void;
108
- toggleFocused: () => void;
109
- }
110
- /**
111
- * Create an Accordion state manager
112
- */
113
- export declare function createAccordion(options: AccordionOptions): AccordionState;
114
- export interface AccordionProps extends AccordionOptions {
115
- /** Pre-created state */
116
- state?: AccordionState;
117
- }
118
- /**
119
- * Accordion - Multiple collapsible sections
120
- *
121
- * @example
122
- * Accordion({
123
- * sections: [
124
- * { key: 'general', title: 'General', content: generalContent },
125
- * { key: 'advanced', title: 'Advanced', content: advancedContent },
126
- * ],
127
- * })
128
- */
129
- export declare function Accordion(props: AccordionProps): VNode;
130
- export interface DetailsProps {
131
- /** Summary text (always visible) */
132
- summary: string;
133
- /** Content when expanded */
134
- children: VNode | VNode[];
135
- /** Initial state */
136
- open?: boolean;
137
- /** Summary icon */
138
- icon?: string;
139
- }
140
- /**
141
- * Details - Simple expandable section (like HTML <details>)
142
- *
143
- * @example
144
- * Details({
145
- * summary: 'Click to see more',
146
- * children: Text({}, 'Hidden details here')
147
- * })
148
- */
149
- export declare function Details(props: DetailsProps): VNode;
150
- export interface ExpandableTextProps {
151
- /** Full text content */
152
- text: string;
153
- /** Max visible lines when collapsed */
154
- maxLines?: number;
155
- /** "Show more" label */
156
- showMoreLabel?: string;
157
- /** "Show less" label */
158
- showLessLabel?: string;
159
- /** Text color */
160
- color?: ColorValue;
161
- }
162
- /**
163
- * ExpandableText - Long text with show more/less
164
- */
165
- export declare function ExpandableText(props: ExpandableTextProps): VNode;
166
- //# sourceMappingURL=collapsible.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"collapsible.d.ts","sourceRoot":"","sources":["../../../src/design-system/layout/collapsible.ts"],"names":[],"mappings":"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"}