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,461 +0,0 @@
1
- /**
2
- * Modal/Window Component - Pop-up dialogs for Reck
3
- *
4
- * Features:
5
- * - Centered modal dialogs
6
- * - Floating windows with position
7
- * - Confirmation dialogs
8
- * - Alert/info boxes
9
- * - Toast notifications
10
- * - Backdrop overlay
11
- *
12
- * @example
13
- * ```typescript
14
- * import { Modal, ConfirmDialog, Toast, createModal } from './modal.js';
15
- *
16
- * // Simple modal
17
- * When(showModal(),
18
- * Modal({
19
- * title: 'Settings',
20
- * content: SettingsForm(),
21
- * onClose: () => setShowModal(false)
22
- * })
23
- * )
24
- *
25
- * // Confirmation dialog
26
- * ConfirmDialog({
27
- * title: 'Delete File?',
28
- * message: 'This action cannot be undone.',
29
- * onConfirm: handleDelete,
30
- * onCancel: closeDialog
31
- * })
32
- * ```
33
- */
34
- import { Box, Text } from '../../primitives/nodes.js';
35
- import { themeColor } from '../../core/theme.js';
36
- import { getRenderMode } from '../../core/capabilities.js';
37
- /**
38
- * Border styles for modals - Unicode
39
- */
40
- const BORDER_CHARS_UNICODE = {
41
- single: {
42
- topLeft: '┌',
43
- topRight: '┐',
44
- bottomLeft: '└',
45
- bottomRight: '┘',
46
- horizontal: '─',
47
- vertical: '│',
48
- },
49
- double: {
50
- topLeft: '╔',
51
- topRight: '╗',
52
- bottomLeft: '╚',
53
- bottomRight: '╝',
54
- horizontal: '═',
55
- vertical: '║',
56
- },
57
- round: {
58
- topLeft: '╭',
59
- topRight: '╮',
60
- bottomLeft: '╰',
61
- bottomRight: '╯',
62
- horizontal: '─',
63
- vertical: '│',
64
- },
65
- heavy: {
66
- topLeft: '┏',
67
- topRight: '┓',
68
- bottomLeft: '┗',
69
- bottomRight: '┛',
70
- horizontal: '━',
71
- vertical: '┃',
72
- },
73
- };
74
- /**
75
- * Border styles for modals - ASCII fallback
76
- */
77
- const BORDER_CHARS_ASCII = {
78
- single: {
79
- topLeft: '+',
80
- topRight: '+',
81
- bottomLeft: '+',
82
- bottomRight: '+',
83
- horizontal: '-',
84
- vertical: '|',
85
- },
86
- double: {
87
- topLeft: '+',
88
- topRight: '+',
89
- bottomLeft: '+',
90
- bottomRight: '+',
91
- horizontal: '=',
92
- vertical: '|',
93
- },
94
- round: {
95
- topLeft: '+',
96
- topRight: '+',
97
- bottomLeft: '+',
98
- bottomRight: '+',
99
- horizontal: '-',
100
- vertical: '|',
101
- },
102
- heavy: {
103
- topLeft: '+',
104
- topRight: '+',
105
- bottomLeft: '+',
106
- bottomRight: '+',
107
- horizontal: '=',
108
- vertical: '|',
109
- },
110
- };
111
- /** Get border chars based on render mode */
112
- function getBorderChars() {
113
- return getRenderMode() === 'ascii' ? BORDER_CHARS_ASCII : BORDER_CHARS_UNICODE;
114
- }
115
- /** Icons for Toast and AlertBox - with ASCII fallbacks */
116
- const ICONS_UNICODE = {
117
- success: '✓',
118
- error: '✗',
119
- warning: '⚠',
120
- info: 'ℹ',
121
- };
122
- const ICONS_ASCII = {
123
- success: '[OK]',
124
- error: '[X]',
125
- warning: '[!]',
126
- info: '[i]',
127
- };
128
- /** Get icons based on render mode */
129
- function getIcons() {
130
- return getRenderMode() === 'ascii' ? ICONS_ASCII : ICONS_UNICODE;
131
- }
132
- /**
133
- * Get modal dimensions based on size
134
- */
135
- function getModalDimensions(size) {
136
- const termWidth = process.stdout.columns || 80;
137
- const termHeight = process.stdout.rows || 24;
138
- if (typeof size === 'object') {
139
- return size;
140
- }
141
- switch (size) {
142
- case 'small':
143
- return { width: Math.min(40, termWidth - 4), height: Math.min(10, termHeight - 4) };
144
- case 'medium':
145
- return { width: Math.min(60, termWidth - 4), height: Math.min(16, termHeight - 4) };
146
- case 'large':
147
- return { width: Math.min(80, termWidth - 4), height: Math.min(22, termHeight - 4) };
148
- case 'fullscreen':
149
- return { width: termWidth - 2, height: termHeight - 2 };
150
- default:
151
- return { width: Math.min(60, termWidth - 4), height: Math.min(16, termHeight - 4) };
152
- }
153
- }
154
- /**
155
- * Get modal position offsets
156
- */
157
- function getModalPosition(position, width, height) {
158
- const termWidth = process.stdout.columns || 80;
159
- const termHeight = process.stdout.rows || 24;
160
- if (typeof position === 'object') {
161
- return position;
162
- }
163
- switch (position) {
164
- case 'top':
165
- return { x: Math.floor((termWidth - width) / 2), y: 1 };
166
- case 'bottom':
167
- return { x: Math.floor((termWidth - width) / 2), y: termHeight - height - 1 };
168
- case 'center':
169
- default:
170
- return {
171
- x: Math.floor((termWidth - width) / 2),
172
- y: Math.floor((termHeight - height) / 2),
173
- };
174
- }
175
- }
176
- /**
177
- * Render modal border
178
- */
179
- function renderBorder(width, height, style, color, title, titleColor) {
180
- if (style === 'none') {
181
- return [];
182
- }
183
- const borderChars = getBorderChars();
184
- const chars = borderChars[style] || borderChars.single;
185
- const lines = [];
186
- // Top border with title
187
- const titleText = title ? ` ${title} ` : '';
188
- const titleLen = titleText.length;
189
- const remainingWidth = width - 2 - titleLen;
190
- const leftPadding = Math.floor(remainingWidth / 2);
191
- const rightPadding = remainingWidth - leftPadding;
192
- const topLine = title
193
- ? chars.topLeft +
194
- chars.horizontal.repeat(leftPadding) +
195
- titleText +
196
- chars.horizontal.repeat(rightPadding) +
197
- chars.topRight
198
- : chars.topLeft + chars.horizontal.repeat(width - 2) + chars.topRight;
199
- lines.push(Box({ flexDirection: 'row' }, Text({ color }, chars.topLeft), title
200
- ? Box({ flexDirection: 'row' }, Text({ color }, chars.horizontal.repeat(leftPadding)), Text({ color: titleColor || 'cyan', bold: true }, titleText), Text({ color }, chars.horizontal.repeat(rightPadding)))
201
- : Text({ color }, chars.horizontal.repeat(width - 2)), Text({ color }, chars.topRight)));
202
- return lines;
203
- }
204
- /**
205
- * Modal Component
206
- *
207
- * Renders a modal dialog with customizable appearance and position.
208
- *
209
- * @example
210
- * ```typescript
211
- * Modal({
212
- * title: 'Confirm Delete',
213
- * content: Text({}, 'Are you sure you want to delete this file?'),
214
- * size: 'small',
215
- * position: 'center',
216
- * borderStyle: 'round',
217
- * borderColor: 'yellow',
218
- * showCloseHint: true
219
- * })
220
- * ```
221
- */
222
- export function Modal(props) {
223
- const { title, content, size = 'medium', position = 'center', borderStyle = 'round', borderColor = themeColor('info'), titleColor = themeColor('info'), backdrop = true, backdropChar = ' ', showCloseHint = true, closeHint = 'Press ESC to close', footer, padding = 1, showCloseButton = false, onClose, closeOnBackdrop = true, } = props;
224
- const { width, height } = getModalDimensions(size);
225
- const borderChars = getBorderChars();
226
- const chars = borderStyle !== 'none' ? borderChars[borderStyle] || borderChars.single : null;
227
- const contentWidth = width - 2 - padding * 2;
228
- const contentHeight = height - 2 - (title ? 0 : 0) - (footer ? 2 : 0) - (showCloseHint ? 1 : 0);
229
- const isAscii = getRenderMode() === 'ascii';
230
- const closeButtonChar = isAscii ? '[X]' : ' × ';
231
- const rows = [];
232
- // Top border with title and optional close button
233
- if (chars) {
234
- const titleText = title ? ` ${title} ` : '';
235
- const titleLen = titleText.length;
236
- const closeButtonLen = showCloseButton ? closeButtonChar.length : 0;
237
- const remainingWidth = width - 2 - titleLen - closeButtonLen;
238
- const leftPadding = Math.max(0, Math.floor(remainingWidth / 2));
239
- const rightPadding = Math.max(0, remainingWidth - leftPadding);
240
- const titleBarParts = [
241
- Text({ color: borderColor }, chars.topLeft),
242
- Text({ color: borderColor }, chars.horizontal.repeat(leftPadding)),
243
- title ? Text({ color: titleColor, bold: true }, titleText) : Text({}, ''),
244
- Text({ color: borderColor }, chars.horizontal.repeat(rightPadding)),
245
- ];
246
- // Add close button if enabled
247
- if (showCloseButton && onClose) {
248
- titleBarParts.push(Box({ onClick: onClose }, Text({ color: themeColor('error') }, closeButtonChar)));
249
- }
250
- titleBarParts.push(Text({ color: borderColor }, chars.topRight));
251
- rows.push(Box({ flexDirection: 'row' }, ...titleBarParts));
252
- }
253
- // Content area
254
- const paddingStr = ' '.repeat(padding);
255
- rows.push(Box({ flexDirection: 'row' }, chars ? Text({ color: borderColor }, chars.vertical) : Text({}, ''), Text({}, paddingStr), Box({ width: contentWidth, flexDirection: 'column' }, content), Text({}, paddingStr), chars ? Text({ color: borderColor }, chars.vertical) : Text({}, '')));
256
- // Close hint
257
- if (showCloseHint && closeHint) {
258
- const hintPadding = Math.max(0, width - 2 - closeHint.length - padding * 2);
259
- rows.push(Box({ flexDirection: 'row' }, chars ? Text({ color: borderColor }, chars.vertical) : Text({}, ''), Text({}, paddingStr), Text({ color: themeColor('mutedForeground'), dim: true }, closeHint), Text({}, ' '.repeat(hintPadding)), Text({}, paddingStr), chars ? Text({ color: borderColor }, chars.vertical) : Text({}, '')));
260
- }
261
- // Footer
262
- if (footer) {
263
- rows.push(Box({ flexDirection: 'row' }, chars ? Text({ color: borderColor }, chars.vertical) : Text({}, ''), Text({}, paddingStr), Box({ width: contentWidth, flexDirection: 'column' }, footer), Text({}, paddingStr), chars ? Text({ color: borderColor }, chars.vertical) : Text({}, '')));
264
- }
265
- // Bottom border
266
- if (chars) {
267
- rows.push(Text({ color: borderColor }, chars.bottomLeft + chars.horizontal.repeat(width - 2) + chars.bottomRight));
268
- }
269
- return Box({ flexDirection: 'column' }, ...rows);
270
- }
271
- /**
272
- * Confirmation Dialog
273
- *
274
- * Pre-built modal for yes/no confirmations.
275
- *
276
- * @example
277
- * ```typescript
278
- * const dialog = createConfirmDialog({
279
- * title: 'Delete File',
280
- * message: 'This action cannot be undone.',
281
- * type: 'danger'
282
- * });
283
- *
284
- * // Render
285
- * ConfirmDialog({
286
- * ...dialog.props,
287
- * selected: dialog.selected
288
- * })
289
- *
290
- * // Handle input
291
- * useInput((_, key) => {
292
- * if (key.left || key.right) dialog.toggle();
293
- * if (key.return) dialog.confirm();
294
- * if (key.escape) dialog.cancel();
295
- * });
296
- * ```
297
- */
298
- export function ConfirmDialog(props) {
299
- const { title, message, confirmText = 'Confirm', cancelText = 'Cancel', confirmColor = themeColor('success'), cancelColor = themeColor('mutedForeground'), selected = 0, type = 'info', onConfirm, onCancel, } = props;
300
- // Type-based colors
301
- const titleColors = {
302
- info: themeColor('info'),
303
- warning: themeColor('warning'),
304
- danger: themeColor('error'),
305
- };
306
- const inactiveColor = themeColor('mutedForeground');
307
- const buttonRow = Box({ flexDirection: 'row', marginTop: 1 },
308
- // Cancel button
309
- Box({
310
- borderStyle: selected === 0 ? 'round' : 'single',
311
- borderColor: selected === 0 ? cancelColor : inactiveColor,
312
- paddingX: 2,
313
- onClick: onCancel,
314
- }, Text({ color: selected === 0 ? cancelColor : inactiveColor, bold: selected === 0 }, cancelText)), Text({}, ' '),
315
- // Confirm button
316
- Box({
317
- borderStyle: selected === 1 ? 'round' : 'single',
318
- borderColor: selected === 1 ? confirmColor : inactiveColor,
319
- paddingX: 2,
320
- onClick: onConfirm,
321
- }, Text({ color: selected === 1 ? confirmColor : inactiveColor, bold: selected === 1 }, confirmText)));
322
- return Modal({
323
- title,
324
- titleColor: titleColors[type],
325
- borderColor: titleColors[type],
326
- size: 'small',
327
- content: Box({ flexDirection: 'column' }, Text({}, message), buttonRow),
328
- showCloseHint: false,
329
- });
330
- }
331
- /**
332
- * Create interactive confirm dialog state
333
- */
334
- export function createConfirmDialog(options) {
335
- let selected = 0;
336
- return {
337
- get props() {
338
- return {
339
- title: options.title,
340
- message: options.message,
341
- confirmText: options.confirmText,
342
- cancelText: options.cancelText,
343
- type: options.type,
344
- selected,
345
- };
346
- },
347
- get selected() {
348
- return selected;
349
- },
350
- toggle: () => {
351
- selected = selected === 0 ? 1 : 0;
352
- },
353
- selectCancel: () => {
354
- selected = 0;
355
- },
356
- selectConfirm: () => {
357
- selected = 1;
358
- },
359
- confirm: () => {
360
- if (selected === 1) {
361
- options.onConfirm?.();
362
- }
363
- else {
364
- options.onCancel?.();
365
- }
366
- },
367
- cancel: () => {
368
- options.onCancel?.();
369
- },
370
- };
371
- }
372
- /**
373
- * Toast Notification
374
- *
375
- * Simple notification message.
376
- *
377
- * @example
378
- * ```typescript
379
- * Toast({
380
- * message: 'File saved successfully!',
381
- * type: 'success',
382
- * position: 'bottom'
383
- * })
384
- * ```
385
- */
386
- export function Toast(props) {
387
- const { message, type = 'info', position = 'bottom', showIcon = true, fullWidth = false } = props;
388
- const icons = getIcons();
389
- const colors = {
390
- success: themeColor('success'),
391
- error: themeColor('error'),
392
- warning: themeColor('warning'),
393
- info: themeColor('info'),
394
- };
395
- const icon = icons[type];
396
- const color = colors[type];
397
- return Box({
398
- flexDirection: 'row',
399
- borderStyle: 'round',
400
- borderColor: color,
401
- paddingX: 2,
402
- paddingY: 0,
403
- flexGrow: fullWidth ? 1 : 0,
404
- }, showIcon ? Text({ color, bold: true }, `${icon} `) : Text({}, ''), Box({ flexGrow: fullWidth ? 1 : 0 }, Text({ color: themeColor('foreground') }, message)));
405
- }
406
- /**
407
- * Alert Box
408
- *
409
- * Styled alert message box.
410
- *
411
- * @example
412
- * ```typescript
413
- * AlertBox({
414
- * title: 'Warning',
415
- * message: 'This operation may take a while.',
416
- * type: 'warning'
417
- * })
418
- * ```
419
- */
420
- export function AlertBox(props) {
421
- const { title, message, type = 'info', showIcon = true, fullWidth = false } = props;
422
- const icons = getIcons();
423
- const colors = {
424
- success: themeColor('success'),
425
- error: themeColor('error'),
426
- warning: themeColor('warning'),
427
- info: themeColor('info'),
428
- };
429
- const icon = icons[type];
430
- const color = colors[type];
431
- return Box({
432
- borderStyle: 'round',
433
- borderColor: color,
434
- padding: 1,
435
- flexDirection: 'column',
436
- flexGrow: fullWidth ? 1 : 0,
437
- }, title
438
- ? Box({ flexDirection: 'row', marginBottom: 1 }, showIcon ? Text({ color, bold: true }, `${icon} `) : Text({}, ''), Text({ color, bold: true }, title))
439
- : Box({}), Text({}, message));
440
- }
441
- /**
442
- * Create modal state
443
- */
444
- export function createModal() {
445
- let isOpen = false;
446
- return {
447
- get isOpen() {
448
- return isOpen;
449
- },
450
- open: () => {
451
- isOpen = true;
452
- },
453
- close: () => {
454
- isOpen = false;
455
- },
456
- toggle: () => {
457
- isOpen = !isOpen;
458
- },
459
- };
460
- }
461
- //# sourceMappingURL=modal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../../src/design-system/overlays/modal.ts"],"names":[],"mappings":"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"}
@@ -1,200 +0,0 @@
1
- /**
2
- * Overlay Stack Manager
3
- *
4
- * Manages a stack of overlay components (modals, dialogs, menus)
5
- * with exclusive focus handling and proper z-ordering.
6
- *
7
- * Features:
8
- * - Push/pop overlay management
9
- * - Exclusive focus (only top overlay receives input)
10
- * - Named overlays for easy management
11
- * - Backdrop/dimming support
12
- * - Animation hooks
13
- * - Priority levels
14
- *
15
- * @example
16
- * ```typescript
17
- * import { createOverlayStack, OverlayContainer } from 'tuiuiu.js';
18
- *
19
- * const overlays = createOverlayStack();
20
- *
21
- * // Push an overlay
22
- * overlays.push({
23
- * id: 'confirm',
24
- * component: () => ConfirmDialog({ ... }),
25
- * priority: 'normal',
26
- * closeOnEscape: true,
27
- * });
28
- *
29
- * // In your app
30
- * Box({},
31
- * MainContent(),
32
- * OverlayContainer({ stack: overlays })
33
- * )
34
- *
35
- * // Handle input
36
- * useInput((_, key) => {
37
- * if (overlays.hasOverlay()) {
38
- * if (key.escape && overlays.current()?.closeOnEscape) {
39
- * overlays.pop();
40
- * }
41
- * // Don't propagate input to main content
42
- * return;
43
- * }
44
- * // Normal input handling
45
- * });
46
- * ```
47
- */
48
- import type { VNode } from '../../utils/types.js';
49
- export type OverlayPriority = 'low' | 'normal' | 'high' | 'critical';
50
- export interface OverlayConfig {
51
- /** Unique identifier */
52
- id: string;
53
- /** Component to render */
54
- component: () => VNode | null;
55
- /** Priority level (higher = above lower) */
56
- priority?: OverlayPriority;
57
- /** Close when escape is pressed */
58
- closeOnEscape?: boolean;
59
- /** Close when clicking outside */
60
- closeOnClickOutside?: boolean;
61
- /** Show backdrop/dim behind */
62
- showBackdrop?: boolean;
63
- /** Backdrop character */
64
- backdropChar?: string;
65
- /** Backdrop color */
66
- backdropColor?: string;
67
- /** Callback when overlay is opened */
68
- onOpen?: () => void;
69
- /** Callback when overlay is closed */
70
- onClose?: () => void;
71
- /** Callback before close (return false to cancel) */
72
- beforeClose?: () => boolean;
73
- /** Custom data */
74
- data?: unknown;
75
- }
76
- export interface OverlayEntry extends OverlayConfig {
77
- /** Timestamp when pushed */
78
- pushedAt: number;
79
- /** Priority as number for sorting */
80
- priorityValue: number;
81
- }
82
- export interface OverlayStackState {
83
- /** Get all overlays (bottom to top) */
84
- all: () => OverlayEntry[];
85
- /** Get current (top) overlay */
86
- current: () => OverlayEntry | null;
87
- /** Check if stack has any overlays */
88
- hasOverlay: () => boolean;
89
- /** Check if specific overlay is open */
90
- isOpen: (id: string) => boolean;
91
- /** Get overlay by ID */
92
- get: (id: string) => OverlayEntry | null;
93
- /** Push new overlay */
94
- push: (config: OverlayConfig) => void;
95
- /** Pop top overlay */
96
- pop: () => OverlayEntry | null;
97
- /** Close specific overlay by ID */
98
- close: (id: string) => boolean;
99
- /** Close all overlays */
100
- closeAll: () => void;
101
- /** Replace overlay by ID */
102
- replace: (id: string, config: OverlayConfig) => boolean;
103
- /** Bring overlay to top */
104
- bringToTop: (id: string) => boolean;
105
- /** Get stack size */
106
- size: () => number;
107
- /** Subscribe to changes */
108
- subscribe: (callback: () => void) => () => void;
109
- }
110
- /**
111
- * Create an overlay stack manager
112
- */
113
- export declare function createOverlayStack(): OverlayStackState;
114
- export interface OverlayContainerProps {
115
- /** Overlay stack to render */
116
- stack: OverlayStackState;
117
- /** Render backdrop */
118
- renderBackdrop?: (entry: OverlayEntry) => VNode | null;
119
- }
120
- /**
121
- * Container component that renders all overlays in the stack
122
- *
123
- * @example
124
- * ```typescript
125
- * // At the end of your main component
126
- * Box({},
127
- * MainContent(),
128
- * OverlayContainer({ stack: overlays })
129
- * )
130
- * ```
131
- */
132
- export declare function OverlayContainer(props: OverlayContainerProps): VNode;
133
- export interface UseOverlayInputOptions {
134
- /** Overlay stack */
135
- stack: OverlayStackState;
136
- /** Handle escape key */
137
- handleEscape?: boolean;
138
- }
139
- /**
140
- * Check if input should be blocked (overlay is active)
141
- *
142
- * @example
143
- * ```typescript
144
- * const overlays = createOverlayStack();
145
- *
146
- * useInput((input, key) => {
147
- * // Handle escape for overlays
148
- * if (key.escape && overlays.hasOverlay()) {
149
- * const current = overlays.current();
150
- * if (current?.closeOnEscape) {
151
- * overlays.pop();
152
- * }
153
- * return; // Block further input
154
- * }
155
- *
156
- * // Block all input when overlay is active
157
- * if (shouldBlockInput(overlays)) {
158
- * return;
159
- * }
160
- *
161
- * // Normal input handling...
162
- * });
163
- * ```
164
- */
165
- export declare function shouldBlockInput(stack: OverlayStackState): boolean;
166
- /**
167
- * Handle escape key for overlay stack
168
- * Returns true if handled (overlay was closed or blocked)
169
- */
170
- export declare function handleOverlayEscape(stack: OverlayStackState): boolean;
171
- /**
172
- * Helper to create a modal overlay config
173
- */
174
- export declare function createModalOverlay(options: {
175
- id: string;
176
- component: () => VNode | null;
177
- closeOnEscape?: boolean;
178
- onClose?: () => void;
179
- }): OverlayConfig;
180
- /**
181
- * Helper to create a toast overlay config (low priority, no backdrop)
182
- */
183
- export declare function createToastOverlay(options: {
184
- id: string;
185
- component: () => VNode | null;
186
- duration?: number;
187
- onClose?: () => void;
188
- }): OverlayConfig & {
189
- autoClose: () => void;
190
- };
191
- /**
192
- * Helper to create a critical overlay config (highest priority)
193
- */
194
- export declare function createCriticalOverlay(options: {
195
- id: string;
196
- component: () => VNode | null;
197
- closeOnEscape?: boolean;
198
- onClose?: () => void;
199
- }): OverlayConfig;
200
- //# sourceMappingURL=overlay-stack.d.ts.map