termcast 1.3.9

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 (699) hide show
  1. package/dist/action-utils.d.ts +25 -0
  2. package/dist/action-utils.d.ts.map +1 -0
  3. package/dist/action-utils.js +209 -0
  4. package/dist/action-utils.js.map +1 -0
  5. package/dist/ai.d.ts +104 -0
  6. package/dist/ai.d.ts.map +1 -0
  7. package/dist/ai.js +135 -0
  8. package/dist/ai.js.map +1 -0
  9. package/dist/apis/ai.d.ts +104 -0
  10. package/dist/apis/ai.d.ts.map +1 -0
  11. package/dist/apis/ai.js +135 -0
  12. package/dist/apis/ai.js.map +1 -0
  13. package/dist/apis/cache.d.ts +84 -0
  14. package/dist/apis/cache.d.ts.map +1 -0
  15. package/dist/apis/cache.js +307 -0
  16. package/dist/apis/cache.js.map +1 -0
  17. package/dist/apis/cache.test.d.ts +2 -0
  18. package/dist/apis/cache.test.d.ts.map +1 -0
  19. package/dist/apis/cache.test.js +246 -0
  20. package/dist/apis/cache.test.js.map +1 -0
  21. package/dist/apis/clipboard.d.ts +36 -0
  22. package/dist/apis/clipboard.d.ts.map +1 -0
  23. package/dist/apis/clipboard.js +154 -0
  24. package/dist/apis/clipboard.js.map +1 -0
  25. package/dist/apis/environment.d.ts +63 -0
  26. package/dist/apis/environment.d.ts.map +1 -0
  27. package/dist/apis/environment.js +189 -0
  28. package/dist/apis/environment.js.map +1 -0
  29. package/dist/apis/hud.d.ts +7 -0
  30. package/dist/apis/hud.d.ts.map +1 -0
  31. package/dist/apis/hud.js +45 -0
  32. package/dist/apis/hud.js.map +1 -0
  33. package/dist/apis/localstorage.d.ts +13 -0
  34. package/dist/apis/localstorage.d.ts.map +1 -0
  35. package/dist/apis/localstorage.js +190 -0
  36. package/dist/apis/localstorage.js.map +1 -0
  37. package/dist/apis/localstorage.test.d.ts +2 -0
  38. package/dist/apis/localstorage.test.d.ts.map +1 -0
  39. package/dist/apis/localstorage.test.js +131 -0
  40. package/dist/apis/localstorage.test.js.map +1 -0
  41. package/dist/apis/oauth.d.ts +142 -0
  42. package/dist/apis/oauth.d.ts.map +1 -0
  43. package/dist/apis/oauth.js +551 -0
  44. package/dist/apis/oauth.js.map +1 -0
  45. package/dist/apis/preferences.d.ts +23 -0
  46. package/dist/apis/preferences.d.ts.map +1 -0
  47. package/dist/apis/preferences.js +105 -0
  48. package/dist/apis/preferences.js.map +1 -0
  49. package/dist/apis/toast.d.ts +81 -0
  50. package/dist/apis/toast.d.ts.map +1 -0
  51. package/dist/apis/toast.js +275 -0
  52. package/dist/apis/toast.js.map +1 -0
  53. package/dist/apis/toast.test.d.ts +2 -0
  54. package/dist/apis/toast.test.d.ts.map +1 -0
  55. package/dist/apis/toast.test.js +67 -0
  56. package/dist/apis/toast.test.js.map +1 -0
  57. package/dist/apis/window.d.ts +12 -0
  58. package/dist/apis/window.d.ts.map +1 -0
  59. package/dist/apis/window.js +47 -0
  60. package/dist/apis/window.js.map +1 -0
  61. package/dist/build.d.ts +15 -0
  62. package/dist/build.d.ts.map +1 -0
  63. package/dist/build.js +213 -0
  64. package/dist/build.js.map +1 -0
  65. package/dist/build.test.d.ts +2 -0
  66. package/dist/build.test.d.ts.map +1 -0
  67. package/dist/build.test.js +73 -0
  68. package/dist/build.test.js.map +1 -0
  69. package/dist/cache.d.ts +32 -0
  70. package/dist/cache.d.ts.map +1 -0
  71. package/dist/cache.js +205 -0
  72. package/dist/cache.js.map +1 -0
  73. package/dist/cache.test.d.ts +2 -0
  74. package/dist/cache.test.d.ts.map +1 -0
  75. package/dist/cache.test.js +246 -0
  76. package/dist/cache.test.js.map +1 -0
  77. package/dist/cli.d.ts +2 -0
  78. package/dist/cli.d.ts.map +1 -0
  79. package/dist/cli.js +278 -0
  80. package/dist/cli.js.map +1 -0
  81. package/dist/clipboard.d.ts +36 -0
  82. package/dist/clipboard.d.ts.map +1 -0
  83. package/dist/clipboard.js +154 -0
  84. package/dist/clipboard.js.map +1 -0
  85. package/dist/colors.d.ts +15 -0
  86. package/dist/colors.d.ts.map +1 -0
  87. package/dist/colors.js +13 -0
  88. package/dist/colors.js.map +1 -0
  89. package/dist/components/actions.d.ts +120 -0
  90. package/dist/components/actions.d.ts.map +1 -0
  91. package/dist/components/actions.js +371 -0
  92. package/dist/components/actions.js.map +1 -0
  93. package/dist/components/alert.d.ts +25 -0
  94. package/dist/components/alert.d.ts.map +1 -0
  95. package/dist/components/alert.js +99 -0
  96. package/dist/components/alert.js.map +1 -0
  97. package/dist/components/detail.d.ts +65 -0
  98. package/dist/components/detail.d.ts.map +1 -0
  99. package/dist/components/detail.js +147 -0
  100. package/dist/components/detail.js.map +1 -0
  101. package/dist/components/dropdown.d.ts +40 -0
  102. package/dist/components/dropdown.d.ts.map +1 -0
  103. package/dist/components/dropdown.js +202 -0
  104. package/dist/components/dropdown.js.map +1 -0
  105. package/dist/components/extension-preferences.d.ts +8 -0
  106. package/dist/components/extension-preferences.d.ts.map +1 -0
  107. package/dist/components/extension-preferences.js +139 -0
  108. package/dist/components/extension-preferences.js.map +1 -0
  109. package/dist/components/form/assign-components.d.ts +2 -0
  110. package/dist/components/form/assign-components.d.ts.map +1 -0
  111. package/dist/components/form/assign-components.js +22 -0
  112. package/dist/components/form/assign-components.js.map +1 -0
  113. package/dist/components/form/checkbox.d.ts +7 -0
  114. package/dist/components/form/checkbox.d.ts.map +1 -0
  115. package/dist/components/form/checkbox.js +46 -0
  116. package/dist/components/form/checkbox.js.map +1 -0
  117. package/dist/components/form/date-picker.d.ts +18 -0
  118. package/dist/components/form/date-picker.d.ts.map +1 -0
  119. package/dist/components/form/date-picker.js +69 -0
  120. package/dist/components/form/date-picker.js.map +1 -0
  121. package/dist/components/form/description.d.ts +7 -0
  122. package/dist/components/form/description.d.ts.map +1 -0
  123. package/dist/components/form/description.js +8 -0
  124. package/dist/components/form/description.js.map +1 -0
  125. package/dist/components/form/dropdown.d.ts +25 -0
  126. package/dist/components/form/dropdown.d.ts.map +1 -0
  127. package/dist/components/form/dropdown.js +286 -0
  128. package/dist/components/form/dropdown.js.map +1 -0
  129. package/dist/components/form/file-autocomplete.d.ts +12 -0
  130. package/dist/components/form/file-autocomplete.d.ts.map +1 -0
  131. package/dist/components/form/file-autocomplete.js +84 -0
  132. package/dist/components/form/file-autocomplete.js.map +1 -0
  133. package/dist/components/form/file-picker.d.ts +31 -0
  134. package/dist/components/form/file-picker.d.ts.map +1 -0
  135. package/dist/components/form/file-picker.js +113 -0
  136. package/dist/components/form/file-picker.js.map +1 -0
  137. package/dist/components/form/form-end.d.ts +2 -0
  138. package/dist/components/form/form-end.d.ts.map +1 -0
  139. package/dist/components/form/form-end.js +6 -0
  140. package/dist/components/form/form-end.js.map +1 -0
  141. package/dist/components/form/form-type-only.d.ts +174 -0
  142. package/dist/components/form/form-type-only.d.ts.map +1 -0
  143. package/dist/components/form/form-type-only.js +2 -0
  144. package/dist/components/form/form-type-only.js.map +1 -0
  145. package/dist/components/form/index.d.ts +46 -0
  146. package/dist/components/form/index.d.ts.map +1 -0
  147. package/dist/components/form/index.js +106 -0
  148. package/dist/components/form/index.js.map +1 -0
  149. package/dist/components/form/password-field.d.ts +7 -0
  150. package/dist/components/form/password-field.d.ts.map +1 -0
  151. package/dist/components/form/password-field.js +34 -0
  152. package/dist/components/form/password-field.js.map +1 -0
  153. package/dist/components/form/separator.d.ts +2 -0
  154. package/dist/components/form/separator.d.ts.map +1 -0
  155. package/dist/components/form/separator.js +8 -0
  156. package/dist/components/form/separator.js.map +1 -0
  157. package/dist/components/form/tagpicker.d.ts +134 -0
  158. package/dist/components/form/tagpicker.d.ts.map +1 -0
  159. package/dist/components/form/tagpicker.js +79 -0
  160. package/dist/components/form/tagpicker.js.map +1 -0
  161. package/dist/components/form/text-area.d.ts +8 -0
  162. package/dist/components/form/text-area.d.ts.map +1 -0
  163. package/dist/components/form/text-area.js +26 -0
  164. package/dist/components/form/text-area.js.map +1 -0
  165. package/dist/components/form/text-field.d.ts +7 -0
  166. package/dist/components/form/text-field.d.ts.map +1 -0
  167. package/dist/components/form/text-field.js +28 -0
  168. package/dist/components/form/text-field.js.map +1 -0
  169. package/dist/components/form/types.d.ts +43 -0
  170. package/dist/components/form/types.d.ts.map +1 -0
  171. package/dist/components/form/types.js +2 -0
  172. package/dist/components/form/types.js.map +1 -0
  173. package/dist/components/form/use-form-handling.d.ts +4 -0
  174. package/dist/components/form/use-form-handling.d.ts.map +1 -0
  175. package/dist/components/form/use-form-handling.js +37 -0
  176. package/dist/components/form/use-form-handling.js.map +1 -0
  177. package/dist/components/form/use-form-navigation.d.ts +8 -0
  178. package/dist/components/form/use-form-navigation.d.ts.map +1 -0
  179. package/dist/components/form/use-form-navigation.js +58 -0
  180. package/dist/components/form/use-form-navigation.js.map +1 -0
  181. package/dist/components/form/with-left-border.d.ts +17 -0
  182. package/dist/components/form/with-left-border.d.ts.map +1 -0
  183. package/dist/components/form/with-left-border.js +10 -0
  184. package/dist/components/form/with-left-border.js.map +1 -0
  185. package/dist/components/icon.d.ts +9 -0
  186. package/dist/components/icon.d.ts.map +1 -0
  187. package/dist/components/icon.js +485 -0
  188. package/dist/components/icon.js.map +1 -0
  189. package/dist/components/image.d.ts +19 -0
  190. package/dist/components/image.d.ts.map +1 -0
  191. package/dist/components/image.js +32 -0
  192. package/dist/components/image.js.map +1 -0
  193. package/dist/components/list.d.ts +234 -0
  194. package/dist/components/list.d.ts.map +1 -0
  195. package/dist/components/list.js +667 -0
  196. package/dist/components/list.js.map +1 -0
  197. package/dist/components/loading-bar.d.ts +8 -0
  198. package/dist/components/loading-bar.d.ts.map +1 -0
  199. package/dist/components/loading-bar.js +107 -0
  200. package/dist/components/loading-bar.js.map +1 -0
  201. package/dist/components/menubar-extra.d.ts +68 -0
  202. package/dist/components/menubar-extra.d.ts.map +1 -0
  203. package/dist/components/menubar-extra.js +39 -0
  204. package/dist/components/menubar-extra.js.map +1 -0
  205. package/dist/descendants.d.ts +25 -0
  206. package/dist/descendants.d.ts.map +1 -0
  207. package/dist/descendants.js +81 -0
  208. package/dist/descendants.js.map +1 -0
  209. package/dist/dev-ui.d.ts +7 -0
  210. package/dist/dev-ui.d.ts.map +1 -0
  211. package/dist/dev-ui.js +118 -0
  212. package/dist/dev-ui.js.map +1 -0
  213. package/dist/e2e-node.d.ts +63 -0
  214. package/dist/e2e-node.d.ts.map +1 -0
  215. package/dist/e2e-node.js +255 -0
  216. package/dist/e2e-node.js.map +1 -0
  217. package/dist/e2e.d.ts +39 -0
  218. package/dist/e2e.d.ts.map +1 -0
  219. package/dist/e2e.js +127 -0
  220. package/dist/e2e.js.map +1 -0
  221. package/dist/environment.d.ts +63 -0
  222. package/dist/environment.d.ts.map +1 -0
  223. package/dist/environment.js +189 -0
  224. package/dist/environment.js.map +1 -0
  225. package/dist/examples/action-show-in-finder.d.ts +2 -0
  226. package/dist/examples/action-show-in-finder.d.ts.map +1 -0
  227. package/dist/examples/action-show-in-finder.js +13 -0
  228. package/dist/examples/action-show-in-finder.js.map +1 -0
  229. package/dist/examples/datepicker.d.ts +2 -0
  230. package/dist/examples/datepicker.d.ts.map +1 -0
  231. package/dist/examples/datepicker.js +344 -0
  232. package/dist/examples/datepicker.js.map +1 -0
  233. package/dist/examples/environment-test.d.ts +2 -0
  234. package/dist/examples/environment-test.d.ts.map +1 -0
  235. package/dist/examples/environment-test.js +28 -0
  236. package/dist/examples/environment-test.js.map +1 -0
  237. package/dist/examples/error-boundary.d.ts +6 -0
  238. package/dist/examples/error-boundary.d.ts.map +1 -0
  239. package/dist/examples/error-boundary.js +67 -0
  240. package/dist/examples/error-boundary.js.map +1 -0
  241. package/dist/examples/form-basic-arrow-keys.vitest.d.ts +2 -0
  242. package/dist/examples/form-basic-arrow-keys.vitest.d.ts.map +1 -0
  243. package/dist/examples/form-basic-arrow-keys.vitest.js +46 -0
  244. package/dist/examples/form-basic-arrow-keys.vitest.js.map +1 -0
  245. package/dist/examples/form-basic.d.ts +2 -0
  246. package/dist/examples/form-basic.d.ts.map +1 -0
  247. package/dist/examples/form-basic.js +21 -0
  248. package/dist/examples/form-basic.js.map +1 -0
  249. package/dist/examples/form-basic.vitest.d.ts +2 -0
  250. package/dist/examples/form-basic.vitest.d.ts.map +1 -0
  251. package/dist/examples/form-basic.vitest.js +995 -0
  252. package/dist/examples/form-basic.vitest.js.map +1 -0
  253. package/dist/examples/form-dropdown-with-sections.d.ts +2 -0
  254. package/dist/examples/form-dropdown-with-sections.d.ts.map +1 -0
  255. package/dist/examples/form-dropdown-with-sections.js +13 -0
  256. package/dist/examples/form-dropdown-with-sections.js.map +1 -0
  257. package/dist/examples/form-dropdown-with-sections.vitest.d.ts +2 -0
  258. package/dist/examples/form-dropdown-with-sections.vitest.d.ts.map +1 -0
  259. package/dist/examples/form-dropdown-with-sections.vitest.js +75 -0
  260. package/dist/examples/form-dropdown-with-sections.vitest.js.map +1 -0
  261. package/dist/examples/form-dropdown.d.ts +2 -0
  262. package/dist/examples/form-dropdown.d.ts.map +1 -0
  263. package/dist/examples/form-dropdown.js +13 -0
  264. package/dist/examples/form-dropdown.js.map +1 -0
  265. package/dist/examples/form-dropdown.vitest.d.ts +2 -0
  266. package/dist/examples/form-dropdown.vitest.d.ts.map +1 -0
  267. package/dist/examples/form-dropdown.vitest.js +722 -0
  268. package/dist/examples/form-dropdown.vitest.js.map +1 -0
  269. package/dist/examples/form-multiselect-dropdown.d.ts +2 -0
  270. package/dist/examples/form-multiselect-dropdown.d.ts.map +1 -0
  271. package/dist/examples/form-multiselect-dropdown.js +13 -0
  272. package/dist/examples/form-multiselect-dropdown.js.map +1 -0
  273. package/dist/examples/form-tagpicker.d.ts +2 -0
  274. package/dist/examples/form-tagpicker.d.ts.map +1 -0
  275. package/dist/examples/form-tagpicker.js +13 -0
  276. package/dist/examples/form-tagpicker.js.map +1 -0
  277. package/dist/examples/form-tagpicker.vitest.d.ts +2 -0
  278. package/dist/examples/form-tagpicker.vitest.d.ts.map +1 -0
  279. package/dist/examples/form-tagpicker.vitest.js +491 -0
  280. package/dist/examples/form-tagpicker.vitest.js.map +1 -0
  281. package/dist/examples/internal/descendants-filtering.d.ts +2 -0
  282. package/dist/examples/internal/descendants-filtering.d.ts.map +1 -0
  283. package/dist/examples/internal/descendants-filtering.js +144 -0
  284. package/dist/examples/internal/descendants-filtering.js.map +1 -0
  285. package/dist/examples/internal/descendants.d.ts +2 -0
  286. package/dist/examples/internal/descendants.d.ts.map +1 -0
  287. package/dist/examples/internal/descendants.js +134 -0
  288. package/dist/examples/internal/descendants.js.map +1 -0
  289. package/dist/examples/internal/nested-boxes.d.ts +2 -0
  290. package/dist/examples/internal/nested-boxes.d.ts.map +1 -0
  291. package/dist/examples/internal/nested-boxes.js +7 -0
  292. package/dist/examples/internal/nested-boxes.js.map +1 -0
  293. package/dist/examples/internal/scrollbox-demo.d.ts +2 -0
  294. package/dist/examples/internal/scrollbox-demo.d.ts.map +1 -0
  295. package/dist/examples/internal/scrollbox-demo.js +104 -0
  296. package/dist/examples/internal/scrollbox-demo.js.map +1 -0
  297. package/dist/examples/internal/simple-dialog.d.ts +2 -0
  298. package/dist/examples/internal/simple-dialog.d.ts.map +1 -0
  299. package/dist/examples/internal/simple-dialog.js +43 -0
  300. package/dist/examples/internal/simple-dialog.js.map +1 -0
  301. package/dist/examples/internal/text-stacking.d.ts +2 -0
  302. package/dist/examples/internal/text-stacking.d.ts.map +1 -0
  303. package/dist/examples/internal/text-stacking.js +53 -0
  304. package/dist/examples/internal/text-stacking.js.map +1 -0
  305. package/dist/examples/internal/unicode-square-repro.d.ts +2 -0
  306. package/dist/examples/internal/unicode-square-repro.d.ts.map +1 -0
  307. package/dist/examples/internal/unicode-square-repro.js +7 -0
  308. package/dist/examples/internal/unicode-square-repro.js.map +1 -0
  309. package/dist/examples/list-dropdown-default.d.ts +2 -0
  310. package/dist/examples/list-dropdown-default.d.ts.map +1 -0
  311. package/dist/examples/list-dropdown-default.js +14 -0
  312. package/dist/examples/list-dropdown-default.js.map +1 -0
  313. package/dist/examples/list-dropdown-default.vitest.d.ts +2 -0
  314. package/dist/examples/list-dropdown-default.vitest.d.ts.map +1 -0
  315. package/dist/examples/list-dropdown-default.vitest.js +164 -0
  316. package/dist/examples/list-dropdown-default.vitest.js.map +1 -0
  317. package/dist/examples/list-fetch-data.d.ts +2 -0
  318. package/dist/examples/list-fetch-data.d.ts.map +1 -0
  319. package/dist/examples/list-fetch-data.js +87 -0
  320. package/dist/examples/list-fetch-data.js.map +1 -0
  321. package/dist/examples/list-fetch-data.vitest.d.ts +2 -0
  322. package/dist/examples/list-fetch-data.vitest.d.ts.map +1 -0
  323. package/dist/examples/list-fetch-data.vitest.js +103 -0
  324. package/dist/examples/list-fetch-data.vitest.js.map +1 -0
  325. package/dist/examples/list-filter-navigation.d.ts +2 -0
  326. package/dist/examples/list-filter-navigation.d.ts.map +1 -0
  327. package/dist/examples/list-filter-navigation.js +8 -0
  328. package/dist/examples/list-filter-navigation.js.map +1 -0
  329. package/dist/examples/list-with-detail.d.ts +2 -0
  330. package/dist/examples/list-with-detail.d.ts.map +1 -0
  331. package/dist/examples/list-with-detail.js +94 -0
  332. package/dist/examples/list-with-detail.js.map +1 -0
  333. package/dist/examples/list-with-detail.vitest.d.ts +2 -0
  334. package/dist/examples/list-with-detail.vitest.d.ts.map +1 -0
  335. package/dist/examples/list-with-detail.vitest.js +438 -0
  336. package/dist/examples/list-with-detail.vitest.js.map +1 -0
  337. package/dist/examples/list-with-dropdown.d.ts +2 -0
  338. package/dist/examples/list-with-dropdown.d.ts.map +1 -0
  339. package/dist/examples/list-with-dropdown.js +43 -0
  340. package/dist/examples/list-with-dropdown.js.map +1 -0
  341. package/dist/examples/list-with-dropdown.vitest.d.ts +2 -0
  342. package/dist/examples/list-with-dropdown.vitest.d.ts.map +1 -0
  343. package/dist/examples/list-with-dropdown.vitest.js +297 -0
  344. package/dist/examples/list-with-dropdown.vitest.js.map +1 -0
  345. package/dist/examples/list-with-sections.d.ts +2 -0
  346. package/dist/examples/list-with-sections.d.ts.map +1 -0
  347. package/dist/examples/list-with-sections.js +67 -0
  348. package/dist/examples/list-with-sections.js.map +1 -0
  349. package/dist/examples/list-with-sections.vitest.d.ts +2 -0
  350. package/dist/examples/list-with-sections.vitest.d.ts.map +1 -0
  351. package/dist/examples/list-with-sections.vitest.js +441 -0
  352. package/dist/examples/list-with-sections.vitest.js.map +1 -0
  353. package/dist/examples/miscellaneous.d.ts +2 -0
  354. package/dist/examples/miscellaneous.d.ts.map +1 -0
  355. package/dist/examples/miscellaneous.js +313 -0
  356. package/dist/examples/miscellaneous.js.map +1 -0
  357. package/dist/examples/nested-navigation.d.ts +2 -0
  358. package/dist/examples/nested-navigation.d.ts.map +1 -0
  359. package/dist/examples/nested-navigation.js +35 -0
  360. package/dist/examples/nested-navigation.js.map +1 -0
  361. package/dist/examples/preferences-test.d.ts +2 -0
  362. package/dist/examples/preferences-test.d.ts.map +1 -0
  363. package/dist/examples/preferences-test.js +43 -0
  364. package/dist/examples/preferences-test.js.map +1 -0
  365. package/dist/examples/simple-dropdown.d.ts +2 -0
  366. package/dist/examples/simple-dropdown.d.ts.map +1 -0
  367. package/dist/examples/simple-dropdown.js +15 -0
  368. package/dist/examples/simple-dropdown.js.map +1 -0
  369. package/dist/examples/simple-file-picker.d.ts +2 -0
  370. package/dist/examples/simple-file-picker.d.ts.map +1 -0
  371. package/dist/examples/simple-file-picker.js +21 -0
  372. package/dist/examples/simple-file-picker.js.map +1 -0
  373. package/dist/examples/simple-file-picker.vitest.d.ts +2 -0
  374. package/dist/examples/simple-file-picker.vitest.d.ts.map +1 -0
  375. package/dist/examples/simple-file-picker.vitest.js +277 -0
  376. package/dist/examples/simple-file-picker.vitest.js.map +1 -0
  377. package/dist/examples/simple-grid.d.ts +2 -0
  378. package/dist/examples/simple-grid.d.ts.map +1 -0
  379. package/dist/examples/simple-grid.js +51 -0
  380. package/dist/examples/simple-grid.js.map +1 -0
  381. package/dist/examples/simple-grid.vitest.d.ts +2 -0
  382. package/dist/examples/simple-grid.vitest.d.ts.map +1 -0
  383. package/dist/examples/simple-grid.vitest.js +498 -0
  384. package/dist/examples/simple-grid.vitest.js.map +1 -0
  385. package/dist/examples/simple-hud.d.ts +2 -0
  386. package/dist/examples/simple-hud.d.ts.map +1 -0
  387. package/dist/examples/simple-hud.js +18 -0
  388. package/dist/examples/simple-hud.js.map +1 -0
  389. package/dist/examples/simple-list-search.d.ts +2 -0
  390. package/dist/examples/simple-list-search.d.ts.map +1 -0
  391. package/dist/examples/simple-list-search.js +26 -0
  392. package/dist/examples/simple-list-search.js.map +1 -0
  393. package/dist/examples/simple-list.d.ts +2 -0
  394. package/dist/examples/simple-list.d.ts.map +1 -0
  395. package/dist/examples/simple-list.js +50 -0
  396. package/dist/examples/simple-list.js.map +1 -0
  397. package/dist/examples/simple-navigation.d.ts +2 -0
  398. package/dist/examples/simple-navigation.d.ts.map +1 -0
  399. package/dist/examples/simple-navigation.js +36 -0
  400. package/dist/examples/simple-navigation.js.map +1 -0
  401. package/dist/examples/simple-navigation.vitest.d.ts +2 -0
  402. package/dist/examples/simple-navigation.vitest.d.ts.map +1 -0
  403. package/dist/examples/simple-navigation.vitest.js +522 -0
  404. package/dist/examples/simple-navigation.vitest.js.map +1 -0
  405. package/dist/examples/store.d.ts +2 -0
  406. package/dist/examples/store.d.ts.map +1 -0
  407. package/dist/examples/store.js +5 -0
  408. package/dist/examples/store.js.map +1 -0
  409. package/dist/examples/store.vitest.d.ts +2 -0
  410. package/dist/examples/store.vitest.d.ts.map +1 -0
  411. package/dist/examples/store.vitest.js +52 -0
  412. package/dist/examples/store.vitest.js.map +1 -0
  413. package/dist/examples/tanstack-demo.d.ts +2 -0
  414. package/dist/examples/tanstack-demo.d.ts.map +1 -0
  415. package/dist/examples/tanstack-demo.js +51 -0
  416. package/dist/examples/tanstack-demo.js.map +1 -0
  417. package/dist/examples/use-promise-demo.d.ts +2 -0
  418. package/dist/examples/use-promise-demo.d.ts.map +1 -0
  419. package/dist/examples/use-promise-demo.js +45 -0
  420. package/dist/examples/use-promise-demo.js.map +1 -0
  421. package/dist/extensions/dev.d.ts +7 -0
  422. package/dist/extensions/dev.d.ts.map +1 -0
  423. package/dist/extensions/dev.js +124 -0
  424. package/dist/extensions/dev.js.map +1 -0
  425. package/dist/extensions/home.d.ts +8 -0
  426. package/dist/extensions/home.d.ts.map +1 -0
  427. package/dist/extensions/home.js +184 -0
  428. package/dist/extensions/home.js.map +1 -0
  429. package/dist/extensions/store.d.ts +6 -0
  430. package/dist/extensions/store.d.ts.map +1 -0
  431. package/dist/extensions/store.js +203 -0
  432. package/dist/extensions/store.js.map +1 -0
  433. package/dist/globals.d.ts +9 -0
  434. package/dist/globals.d.ts.map +1 -0
  435. package/dist/globals.js +21 -0
  436. package/dist/globals.js.map +1 -0
  437. package/dist/home-command.d.ts +8 -0
  438. package/dist/home-command.d.ts.map +1 -0
  439. package/dist/home-command.js +181 -0
  440. package/dist/home-command.js.map +1 -0
  441. package/dist/hooks/hooks.test.d.ts +2 -0
  442. package/dist/hooks/hooks.test.d.ts.map +1 -0
  443. package/dist/hooks/hooks.test.js +37 -0
  444. package/dist/hooks/hooks.test.js.map +1 -0
  445. package/dist/hooks/index.d.ts +6 -0
  446. package/dist/hooks/index.d.ts.map +1 -0
  447. package/dist/hooks/index.js +6 -0
  448. package/dist/hooks/index.js.map +1 -0
  449. package/dist/hooks/use-action-panel.d.ts +16 -0
  450. package/dist/hooks/use-action-panel.d.ts.map +1 -0
  451. package/dist/hooks/use-action-panel.js +19 -0
  452. package/dist/hooks/use-action-panel.js.map +1 -0
  453. package/dist/hooks/use-id.d.ts +9 -0
  454. package/dist/hooks/use-id.d.ts.map +1 -0
  455. package/dist/hooks/use-id.js +17 -0
  456. package/dist/hooks/use-id.js.map +1 -0
  457. package/dist/hooks/use-unstable-ai.d.ts +9 -0
  458. package/dist/hooks/use-unstable-ai.d.ts.map +1 -0
  459. package/dist/hooks/use-unstable-ai.js +13 -0
  460. package/dist/hooks/use-unstable-ai.js.map +1 -0
  461. package/dist/hooks.d.ts +10 -0
  462. package/dist/hooks.d.ts.map +1 -0
  463. package/dist/hooks.js +20 -0
  464. package/dist/hooks.js.map +1 -0
  465. package/dist/hover-repro.d.ts +2 -0
  466. package/dist/hover-repro.d.ts.map +1 -0
  467. package/dist/hover-repro.js +20 -0
  468. package/dist/hover-repro.js.map +1 -0
  469. package/dist/index.d.ts +58 -0
  470. package/dist/index.d.ts.map +1 -0
  471. package/dist/index.js +71 -0
  472. package/dist/index.js.map +1 -0
  473. package/dist/internal/date-picker-widget.d.ts +9 -0
  474. package/dist/internal/date-picker-widget.d.ts.map +1 -0
  475. package/dist/internal/date-picker-widget.js +380 -0
  476. package/dist/internal/date-picker-widget.js.map +1 -0
  477. package/dist/internal/dialog.d.ts +21 -0
  478. package/dist/internal/dialog.d.ts.map +1 -0
  479. package/dist/internal/dialog.js +122 -0
  480. package/dist/internal/dialog.js.map +1 -0
  481. package/dist/internal/error-handler.d.ts +2 -0
  482. package/dist/internal/error-handler.d.ts.map +1 -0
  483. package/dist/internal/error-handler.js +29 -0
  484. package/dist/internal/error-handler.js.map +1 -0
  485. package/dist/internal/focus-context.d.ts +10 -0
  486. package/dist/internal/focus-context.d.ts.map +1 -0
  487. package/dist/internal/focus-context.js +12 -0
  488. package/dist/internal/focus-context.js.map +1 -0
  489. package/dist/internal/navigation.d.ts +18 -0
  490. package/dist/internal/navigation.d.ts.map +1 -0
  491. package/dist/internal/navigation.js +83 -0
  492. package/dist/internal/navigation.js.map +1 -0
  493. package/dist/internal/providers.d.ts +8 -0
  494. package/dist/internal/providers.d.ts.map +1 -0
  495. package/dist/internal/providers.js +262 -0
  496. package/dist/internal/providers.js.map +1 -0
  497. package/dist/localstorage.d.ts +13 -0
  498. package/dist/localstorage.d.ts.map +1 -0
  499. package/dist/localstorage.js +190 -0
  500. package/dist/localstorage.js.map +1 -0
  501. package/dist/localstorage.test.d.ts +2 -0
  502. package/dist/localstorage.test.d.ts.map +1 -0
  503. package/dist/localstorage.test.js +131 -0
  504. package/dist/localstorage.test.js.map +1 -0
  505. package/dist/logger.d.ts +7 -0
  506. package/dist/logger.d.ts.map +1 -0
  507. package/dist/logger.js +70 -0
  508. package/dist/logger.js.map +1 -0
  509. package/dist/oauth.d.ts +142 -0
  510. package/dist/oauth.d.ts.map +1 -0
  511. package/dist/oauth.js +551 -0
  512. package/dist/oauth.js.map +1 -0
  513. package/dist/package-json.d.ts +84 -0
  514. package/dist/package-json.d.ts.map +1 -0
  515. package/dist/package-json.js +77 -0
  516. package/dist/package-json.js.map +1 -0
  517. package/dist/preferences.d.ts +23 -0
  518. package/dist/preferences.d.ts.map +1 -0
  519. package/dist/preferences.js +105 -0
  520. package/dist/preferences.js.map +1 -0
  521. package/dist/preload.d.ts +2 -0
  522. package/dist/preload.d.ts.map +1 -0
  523. package/dist/preload.js +28 -0
  524. package/dist/preload.js.map +1 -0
  525. package/dist/state.d.ts +26 -0
  526. package/dist/state.d.ts.map +1 -0
  527. package/dist/state.js +18 -0
  528. package/dist/state.js.map +1 -0
  529. package/dist/store-api/download.d.ts +8 -0
  530. package/dist/store-api/download.d.ts.map +1 -0
  531. package/dist/store-api/download.js +37 -0
  532. package/dist/store-api/download.js.map +1 -0
  533. package/dist/store-api/download.test.d.ts +2 -0
  534. package/dist/store-api/download.test.d.ts.map +1 -0
  535. package/dist/store-api/download.test.js +36 -0
  536. package/dist/store-api/download.test.js.map +1 -0
  537. package/dist/store-api/extension.d.ts +87 -0
  538. package/dist/store-api/extension.d.ts.map +1 -0
  539. package/dist/store-api/extension.js +23 -0
  540. package/dist/store-api/extension.js.map +1 -0
  541. package/dist/store-api/extension.test.d.ts +2 -0
  542. package/dist/store-api/extension.test.d.ts.map +1 -0
  543. package/dist/store-api/extension.test.js +22 -0
  544. package/dist/store-api/extension.test.js.map +1 -0
  545. package/dist/store-api/search.d.ts +101 -0
  546. package/dist/store-api/search.d.ts.map +1 -0
  547. package/dist/store-api/search.js +29 -0
  548. package/dist/store-api/search.js.map +1 -0
  549. package/dist/store-api/search.test.d.ts +2 -0
  550. package/dist/store-api/search.test.d.ts.map +1 -0
  551. package/dist/store-api/search.test.js +45 -0
  552. package/dist/store-api/search.test.js.map +1 -0
  553. package/dist/store.d.ts +21 -0
  554. package/dist/store.d.ts.map +1 -0
  555. package/dist/store.js +84 -0
  556. package/dist/store.js.map +1 -0
  557. package/dist/theme.d.ts +20 -0
  558. package/dist/theme.d.ts.map +1 -0
  559. package/dist/theme.js +26 -0
  560. package/dist/theme.js.map +1 -0
  561. package/dist/toast.d.ts +44 -0
  562. package/dist/toast.d.ts.map +1 -0
  563. package/dist/toast.js +221 -0
  564. package/dist/toast.js.map +1 -0
  565. package/dist/utils/file-system.d.ts +11 -0
  566. package/dist/utils/file-system.d.ts.map +1 -0
  567. package/dist/utils/file-system.js +66 -0
  568. package/dist/utils/file-system.js.map +1 -0
  569. package/dist/utils.d.ts +234 -0
  570. package/dist/utils.d.ts.map +1 -0
  571. package/dist/utils.js +473 -0
  572. package/dist/utils.js.map +1 -0
  573. package/dist/utils.test.d.ts +2 -0
  574. package/dist/utils.test.d.ts.map +1 -0
  575. package/dist/utils.test.js +152 -0
  576. package/dist/utils.test.js.map +1 -0
  577. package/dist/window.d.ts +12 -0
  578. package/dist/window.d.ts.map +1 -0
  579. package/dist/window.js +48 -0
  580. package/dist/window.js.map +1 -0
  581. package/package.json +56 -0
  582. package/src/action-utils.tsx +207 -0
  583. package/src/apis/ai.tsx +177 -0
  584. package/src/apis/cache.test.ts +311 -0
  585. package/src/apis/cache.tsx +394 -0
  586. package/src/apis/clipboard.tsx +200 -0
  587. package/src/apis/environment.tsx +239 -0
  588. package/src/apis/hud.tsx +86 -0
  589. package/src/apis/localstorage.test.ts +164 -0
  590. package/src/apis/localstorage.tsx +215 -0
  591. package/src/apis/oauth.tsx +744 -0
  592. package/src/apis/preferences.tsx +140 -0
  593. package/src/apis/toast.tsx +388 -0
  594. package/src/apis/window.tsx +61 -0
  595. package/src/build.test.tsx +78 -0
  596. package/src/build.tsx +273 -0
  597. package/src/cli.tsx +328 -0
  598. package/src/colors.tsx +15 -0
  599. package/src/components/actions.tsx +718 -0
  600. package/src/components/alert.tsx +205 -0
  601. package/src/components/detail.tsx +359 -0
  602. package/src/components/dropdown.tsx +438 -0
  603. package/src/components/extension-preferences.tsx +269 -0
  604. package/src/components/form/assign-components.tsx +22 -0
  605. package/src/components/form/checkbox.tsx +96 -0
  606. package/src/components/form/date-picker.tsx +125 -0
  607. package/src/components/form/description.tsx +30 -0
  608. package/src/components/form/dropdown.tsx +512 -0
  609. package/src/components/form/file-autocomplete.tsx +141 -0
  610. package/src/components/form/file-picker.tsx +233 -0
  611. package/src/components/form/form-end.tsx +6 -0
  612. package/src/components/form/index.tsx +242 -0
  613. package/src/components/form/password-field.tsx +87 -0
  614. package/src/components/form/separator.tsx +15 -0
  615. package/src/components/form/tagpicker.tsx +245 -0
  616. package/src/components/form/text-area.tsx +82 -0
  617. package/src/components/form/text-field.tsx +82 -0
  618. package/src/components/form/types.tsx +49 -0
  619. package/src/components/form/use-form-navigation.tsx +65 -0
  620. package/src/components/form/with-left-border.tsx +53 -0
  621. package/src/components/icon.tsx +496 -0
  622. package/src/components/image.tsx +54 -0
  623. package/src/components/list.tsx +1564 -0
  624. package/src/components/loading-bar.tsx +141 -0
  625. package/src/components/menubar-extra.tsx +181 -0
  626. package/src/descendants.tsx +134 -0
  627. package/src/e2e-node.tsx +303 -0
  628. package/src/e2e.tsx +147 -0
  629. package/src/examples/action-show-in-finder.tsx +80 -0
  630. package/src/examples/environment-test.tsx +50 -0
  631. package/src/examples/error-boundary.tsx +217 -0
  632. package/src/examples/form-basic.tsx +122 -0
  633. package/src/examples/form-basic.vitest.tsx +1035 -0
  634. package/src/examples/form-dropdown.tsx +102 -0
  635. package/src/examples/form-dropdown.vitest.tsx +758 -0
  636. package/src/examples/form-tagpicker.tsx +66 -0
  637. package/src/examples/form-tagpicker.vitest.tsx +523 -0
  638. package/src/examples/internal/descendants-filtering.tsx +223 -0
  639. package/src/examples/internal/descendants.tsx +208 -0
  640. package/src/examples/internal/scrollbox-demo.tsx +149 -0
  641. package/src/examples/internal/simple-dialog.tsx +124 -0
  642. package/src/examples/internal/text-stacking.tsx +90 -0
  643. package/src/examples/list-dropdown-default.tsx +69 -0
  644. package/src/examples/list-dropdown-default.vitest.tsx +187 -0
  645. package/src/examples/list-fetch-data.tsx +123 -0
  646. package/src/examples/list-fetch-data.vitest.tsx +110 -0
  647. package/src/examples/list-with-detail.tsx +161 -0
  648. package/src/examples/list-with-detail.vitest.tsx +468 -0
  649. package/src/examples/list-with-dropdown.tsx +97 -0
  650. package/src/examples/list-with-dropdown.vitest.tsx +324 -0
  651. package/src/examples/list-with-sections.tsx +196 -0
  652. package/src/examples/list-with-sections.vitest.tsx +479 -0
  653. package/src/examples/miscellaneous.tsx +780 -0
  654. package/src/examples/nested-navigation.tsx +118 -0
  655. package/src/examples/preferences-test.tsx +82 -0
  656. package/src/examples/simple-dropdown.tsx +95 -0
  657. package/src/examples/simple-file-picker.tsx +75 -0
  658. package/src/examples/simple-file-picker.vitest.tsx +306 -0
  659. package/src/examples/simple-grid.tsx +149 -0
  660. package/src/examples/simple-grid.vitest.tsx +535 -0
  661. package/src/examples/simple-hud.tsx +60 -0
  662. package/src/examples/simple-list-search.tsx +93 -0
  663. package/src/examples/simple-list.tsx +149 -0
  664. package/src/examples/simple-navigation.tsx +89 -0
  665. package/src/examples/simple-navigation.vitest.tsx +571 -0
  666. package/src/examples/store.tsx +4 -0
  667. package/src/examples/store.vitest.tsx +59 -0
  668. package/src/examples/tanstack-demo.tsx +104 -0
  669. package/src/examples/use-promise-demo.tsx +96 -0
  670. package/src/extensions/dev.tsx +215 -0
  671. package/src/extensions/home.tsx +332 -0
  672. package/src/extensions/store.tsx +375 -0
  673. package/src/globals.ts +34 -0
  674. package/src/hooks/index.tsx +8 -0
  675. package/src/hooks/use-action-panel.tsx +28 -0
  676. package/src/hooks/use-id.tsx +19 -0
  677. package/src/hooks/use-unstable-ai.tsx +15 -0
  678. package/src/hooks.tsx +22 -0
  679. package/src/index.tsx +240 -0
  680. package/src/internal/date-picker-widget.tsx +500 -0
  681. package/src/internal/dialog.tsx +202 -0
  682. package/src/internal/error-handler.tsx +32 -0
  683. package/src/internal/focus-context.tsx +23 -0
  684. package/src/internal/navigation.tsx +149 -0
  685. package/src/internal/providers.tsx +430 -0
  686. package/src/logger.tsx +84 -0
  687. package/src/package-json.tsx +197 -0
  688. package/src/preload.tsx +32 -0
  689. package/src/state.tsx +49 -0
  690. package/src/store-api/download.test.tsx +38 -0
  691. package/src/store-api/download.tsx +52 -0
  692. package/src/store-api/extension.test.tsx +24 -0
  693. package/src/store-api/extension.tsx +123 -0
  694. package/src/store-api/search.test.tsx +50 -0
  695. package/src/store-api/search.tsx +146 -0
  696. package/src/theme.tsx +31 -0
  697. package/src/utils/file-system.ts +87 -0
  698. package/src/utils.test.tsx +204 -0
  699. package/src/utils.tsx +657 -0
@@ -0,0 +1,36 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
2
+ import { render } from '@opentui/react';
3
+ import List from '@termcast/cli';
4
+ import { Action, ActionPanel } from '@termcast/cli';
5
+ import { useNavigation } from '@termcast/cli/src/internal/navigation';
6
+ import { Providers } from '@termcast/cli/src/internal/providers';
7
+ function DetailView({ title }) {
8
+ const { pop } = useNavigation();
9
+ return (_jsx(List, { searchBarPlaceholder: 'Detail view - Press ESC to go back', navigationTitle: `Detail: ${title}`, children: _jsx(List.Section, { title: 'Details', children: _jsx(List.Item, { id: 'back', title: `This is the detail view for ${title}`, subtitle: 'Press Enter to go back or ESC to navigate back', actions: _jsxs(ActionPanel, { children: [_jsx(Action, { title: 'Go Back', onAction: () => pop() }), _jsx(Action.CopyToClipboard, { content: title, title: 'Copy Title' })] }) }) }) }));
10
+ }
11
+ function MainView() {
12
+ const { push } = useNavigation();
13
+ const items = [
14
+ {
15
+ id: 'first',
16
+ title: 'First Item',
17
+ subtitle: 'Navigate to first detail',
18
+ },
19
+ {
20
+ id: 'second',
21
+ title: 'Second Item',
22
+ subtitle: 'Navigate to second detail',
23
+ },
24
+ {
25
+ id: 'third',
26
+ title: 'Third Item',
27
+ subtitle: 'Navigate to third detail',
28
+ },
29
+ ];
30
+ return (_jsx(List, { searchBarPlaceholder: 'Main view', navigationTitle: 'Navigation Example', children: _jsx(List.Section, { title: 'Items', children: items.map((item) => (_jsx(List.Item, { id: item.id, title: item.title, subtitle: item.subtitle, actions: _jsxs(ActionPanel, { children: [_jsx(Action, { title: 'Open Details', onAction: () => push(_jsx(DetailView, { title: item.title })) }), _jsx(Action.CopyToClipboard, { content: item.title, title: 'Copy Title' })] }) }))) }) }));
31
+ }
32
+ function App() {
33
+ return (_jsx(Providers, { children: _jsx(MainView, {}) }));
34
+ }
35
+ render(_jsx(App, {}));
36
+ //# sourceMappingURL=simple-navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-navigation.js","sourceRoot":"","sources":["../../src/examples/simple-navigation.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,IAAI,MAAM,eAAe,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAA;AAEhE,SAAS,UAAU,CAAC,EAAE,KAAK,EAAqB;IAC9C,MAAM,EAAE,GAAG,EAAE,GAAG,aAAa,EAAE,CAAA;IAE/B,OAAO,CACL,KAAC,IAAI,IACH,oBAAoB,EAAC,oCAAoC,EACzD,eAAe,EAAE,WAAW,KAAK,EAAE,YAEnC,KAAC,IAAI,CAAC,OAAO,IAAC,KAAK,EAAC,SAAS,YAC3B,KAAC,IAAI,CAAC,IAAI,IACR,EAAE,EAAC,MAAM,EACT,KAAK,EAAE,+BAA+B,KAAK,EAAE,EAC7C,QAAQ,EAAC,gDAAgD,EACzD,OAAO,EACL,MAAC,WAAW,eACV,KAAC,MAAM,IAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAI,EACjD,KAAC,MAAM,CAAC,eAAe,IAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAC,YAAY,GAAG,IACjD,GAEhB,GACW,GACV,CACR,CAAA;AACH,CAAC;AAED,SAAS,QAAQ;IACf,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAA;IAEhC,MAAM,KAAK,GAAG;QACZ;YACE,EAAE,EAAE,OAAO;YACX,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,0BAA0B;SACrC;QACD;YACE,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,aAAa;YACpB,QAAQ,EAAE,2BAA2B;SACtC;QACD;YACE,EAAE,EAAE,OAAO;YACX,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,0BAA0B;SACrC;KACF,CAAA;IAED,OAAO,CACL,KAAC,IAAI,IAAC,oBAAoB,EAAC,WAAW,EAAC,eAAe,EAAC,oBAAoB,YACzE,KAAC,IAAI,CAAC,OAAO,IAAC,KAAK,EAAC,OAAO,YACxB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,KAAC,IAAI,CAAC,IAAI,IACR,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EACL,MAAC,WAAW,eACV,KAAC,MAAM,IACL,KAAK,EAAC,cAAc,EACpB,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAC,UAAU,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAI,CAAC,GACvD,EACF,KAAC,MAAM,CAAC,eAAe,IACrB,OAAO,EAAE,IAAI,CAAC,KAAK,EACnB,KAAK,EAAC,YAAY,GAClB,IACU,GAEhB,CACH,CAAC,GACW,GACV,CACR,CAAA;AACH,CAAC;AAED,SAAS,GAAG;IACV,OAAO,CACL,KAAC,SAAS,cACR,KAAC,QAAQ,KAAG,GACF,CACb,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAC,GAAG,KAAG,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=simple-navigation.vitest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-navigation.vitest.d.ts","sourceRoot":"","sources":["../../src/examples/simple-navigation.vitest.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,522 @@
1
+ // node-pty does not work in bun, so we use vitest to run this test
2
+ import { test, expect, afterEach, beforeEach } from 'vitest';
3
+ import { NodeTuiDriver } from '@termcast/cli/src/e2e-node';
4
+ let driver;
5
+ beforeEach(() => {
6
+ driver = new NodeTuiDriver('bun', ['src/examples/simple-navigation.tsx'], {
7
+ cols: 70,
8
+ rows: 50,
9
+ });
10
+ });
11
+ afterEach(() => {
12
+ driver?.dispose();
13
+ });
14
+ test('navigation between main and detail views', async () => {
15
+ await driver.text({
16
+ waitFor: (text) => {
17
+ // wait for main view to show up
18
+ return /Navigation Example/i.test(text);
19
+ },
20
+ });
21
+ // Small delay to ensure all items are rendered
22
+ await driver.waitIdle();
23
+ const initialSnapshot = await driver.text();
24
+ expect(initialSnapshot).toMatchInlineSnapshot(`
25
+ "
26
+
27
+ Navigation Example ─────────────────────────────────────────────
28
+
29
+ Main view
30
+
31
+
32
+ Items
33
+ ›First Item Navigate to first detail
34
+ Second Item Navigate to second detail
35
+ Third Item Navigate to third detail
36
+
37
+
38
+ ↵ select ↑↓ navigate ^k actions"
39
+ `);
40
+ // Navigate to second item
41
+ await driver.keys.down();
42
+ const afterDownSnapshot = await driver.text();
43
+ expect(afterDownSnapshot).toMatchInlineSnapshot(`
44
+ "
45
+
46
+ Navigation Example ─────────────────────────────────────────────
47
+
48
+ Main view
49
+
50
+
51
+ Items
52
+ First Item Navigate to first detail
53
+ ›Second Item Navigate to second detail
54
+ Third Item Navigate to third detail
55
+
56
+
57
+ ↵ select ↑↓ navigate ^k actions"
58
+ `);
59
+ // Press Enter to open actions panel
60
+ await driver.keys.enter();
61
+ const actionsOpenSnapshot = await driver.text();
62
+ expect(actionsOpenSnapshot).toMatchInlineSnapshot(`
63
+ "
64
+
65
+ Navigation Example ─────────────────────────────────────────────
66
+
67
+ Main view
68
+
69
+
70
+ Items
71
+ First Item Navigate to first detail
72
+ ›Second Item Navigate to second detail
73
+ Third Item Navigate to third detail
74
+
75
+
76
+ esc
77
+
78
+ Search actions...
79
+ ›Open Details
80
+ Copy Title
81
+
82
+
83
+ ↵ select ↑↓ navigate"
84
+ `);
85
+ // Press Enter again to select "Open Details" action
86
+ await driver.keys.enter();
87
+ const detailViewSnapshot = await driver.text({
88
+ waitFor: (text) => {
89
+ // wait for detail view to show up
90
+ return /Detail: Second Item/i.test(text);
91
+ },
92
+ });
93
+ expect(detailViewSnapshot).toMatchInlineSnapshot(`
94
+ "
95
+
96
+ Detail: Second Item ────────────────────────────────────────────
97
+
98
+ Detail view - Press ESC to go back
99
+
100
+
101
+ Details
102
+ ›This is the detail view for Second Item Press Enter to go back or E
103
+
104
+
105
+ ↵ select ↑↓ navigate ^k actions"
106
+ `);
107
+ // Press ESC to go back to main view
108
+ await driver.keys.escape();
109
+ const backToMainSnapshot = await driver.text({
110
+ waitFor: (text) => {
111
+ // wait for main view to show up again
112
+ return /Navigation Example/i.test(text);
113
+ },
114
+ });
115
+ expect(backToMainSnapshot).toMatchInlineSnapshot(`
116
+ "
117
+
118
+ Navigation Example ─────────────────────────────────────────────
119
+
120
+ Main view
121
+
122
+
123
+ Items
124
+ ›First Item Navigate to first detail
125
+ Second Item Navigate to second detail
126
+ Third Item Navigate to third detail
127
+
128
+
129
+ ↵ select ↑↓ navigate ^k actions"
130
+ `);
131
+ // Navigate down to third item (we're back at first item after ESC)
132
+ await driver.keys.down();
133
+ await driver.keys.down();
134
+ const thirdItemSnapshot = await driver.text();
135
+ expect(thirdItemSnapshot).toMatchInlineSnapshot(`
136
+ "
137
+
138
+ Navigation Example ─────────────────────────────────────────────
139
+
140
+ Main view
141
+
142
+
143
+ Items
144
+ First Item Navigate to first detail
145
+ Second Item Navigate to second detail
146
+ ›Third Item Navigate to third detail
147
+
148
+
149
+ ↵ select ↑↓ navigate ^k actions"
150
+ `);
151
+ // Open action panel for third item
152
+ await driver.keys.enter();
153
+ const thirdActionsSnapshot = await driver.text();
154
+ expect(thirdActionsSnapshot).toMatchInlineSnapshot(`
155
+ "
156
+
157
+ Navigation Example ─────────────────────────────────────────────
158
+
159
+ Main view
160
+
161
+
162
+ Items
163
+ First Item Navigate to first detail
164
+ Second Item Navigate to second detail
165
+ ›Third Item Navigate to third detail
166
+
167
+
168
+ esc
169
+
170
+ Search actions...
171
+ ›Open Details
172
+ Copy Title
173
+
174
+
175
+ ↵ select ↑↓ navigate"
176
+ `);
177
+ // Navigate to detail
178
+ await driver.keys.enter();
179
+ const thirdDetailSnapshot = await driver.text({
180
+ waitFor: (text) => {
181
+ return /Detail: Third Item/i.test(text);
182
+ },
183
+ });
184
+ expect(thirdDetailSnapshot).toMatchInlineSnapshot(`
185
+ "
186
+
187
+ Detail: Third Item ─────────────────────────────────────────────
188
+
189
+ Detail view - Press ESC to go back
190
+
191
+
192
+ Details
193
+ ›This is the detail view for Third Item Press Enter to go back or ES
194
+
195
+
196
+ ↵ select ↑↓ navigate ^k actions"
197
+ `);
198
+ // Use Enter to open actions and go back
199
+ await driver.keys.enter();
200
+ const thirdDetailActionsSnapshot = await driver.text();
201
+ expect(thirdDetailActionsSnapshot).toMatchInlineSnapshot(`
202
+ "
203
+
204
+ Detail: Third Item ─────────────────────────────────────────────
205
+
206
+ Detail view - Press ESC to go back
207
+
208
+
209
+ Details
210
+ ›This is the detail view for Third Item Press Enter to go back or ES
211
+
212
+
213
+ ↵ select ↑↓ navigate ^k actions
214
+
215
+ esc
216
+
217
+ Search actions...
218
+ ›Go Back
219
+ Copy Title
220
+
221
+
222
+ ↵ select ↑↓ navigate"
223
+ `);
224
+ // Select "Go Back" action
225
+ await driver.keys.enter();
226
+ const backFromThirdSnapshot = await driver.text({
227
+ waitFor: (text) => {
228
+ return /Navigation Example/i.test(text);
229
+ },
230
+ });
231
+ expect(backFromThirdSnapshot).toMatchInlineSnapshot(`
232
+ "
233
+
234
+ Navigation Example ─────────────────────────────────────────────
235
+
236
+ Main view
237
+
238
+
239
+ Items
240
+ ›First Item Navigate to first detail
241
+ Second Item Navigate to second detail
242
+ Third Item Navigate to third detail
243
+
244
+
245
+ ↵ select ↑↓ navigate ^k actions"
246
+ `);
247
+ }, 15000);
248
+ test('navigation with actions panel', async () => {
249
+ await driver.text({
250
+ waitFor: (text) => {
251
+ // wait for main view to show up
252
+ return /Navigation Example/i.test(text);
253
+ },
254
+ });
255
+ // Open actions panel with ctrl+k
256
+ await driver.keys.ctrlK();
257
+ const actionsOpenSnapshot = await driver.text();
258
+ expect(actionsOpenSnapshot).toMatchInlineSnapshot(`
259
+ "
260
+
261
+ Navigation Example ─────────────────────────────────────────────
262
+
263
+ Main view
264
+
265
+
266
+ Items
267
+ ›First Item Navigate to first detail
268
+ Second Item Navigate to second detail
269
+ Third Item Navigate to third detail
270
+
271
+
272
+ esc
273
+
274
+ Search actions...
275
+ ›Open Details
276
+ Copy Title
277
+
278
+
279
+ ↵ select ↑↓ navigate"
280
+ `);
281
+ // Navigate down in actions panel
282
+ await driver.keys.down();
283
+ const secondActionSnapshot = await driver.text();
284
+ expect(secondActionSnapshot).toMatchInlineSnapshot(`
285
+ "
286
+
287
+ Navigation Example ─────────────────────────────────────────────
288
+
289
+ Main view
290
+
291
+
292
+ Items
293
+ ›First Item Navigate to first detail
294
+ Second Item Navigate to second detail
295
+ Third Item Navigate to third detail
296
+
297
+
298
+ esc
299
+
300
+ Search actions...
301
+ Open Details
302
+ ›Copy Title
303
+
304
+
305
+ ↵ select ↑↓ navigate"
306
+ `);
307
+ // Select the Copy Title action
308
+ await driver.keys.enter();
309
+ const afterCopySnapshot = await driver.text();
310
+ expect(afterCopySnapshot).toMatchInlineSnapshot(`
311
+ "
312
+
313
+ Navigation Example ─────────────────────────────────────────────
314
+
315
+ Main view
316
+
317
+
318
+ Items
319
+ ›First Item Navigate to first detail
320
+ Second Item Navigate to second detail
321
+ Third Item Navigate to third detail
322
+
323
+
324
+ ┌────────────────────────────────────┐
325
+ │ ✓ Copied to Clipboard - First Item │
326
+ └────────────────────────────────────┘"
327
+ `);
328
+ // Navigate to second item and open its detail
329
+ await driver.keys.down();
330
+ await driver.keys.enter();
331
+ const secondDetailSnapshot = await driver.text({
332
+ waitFor: (text) => {
333
+ return /Detail: Second Item/i.test(text);
334
+ },
335
+ });
336
+ expect(secondDetailSnapshot).toMatchInlineSnapshot(`
337
+ "
338
+
339
+ Navigation Example ─────────────────────────────────────────────
340
+
341
+ Main view
342
+
343
+
344
+ Items
345
+ First Item Navigate to first detail
346
+ ›Second Item Navigate to second detail
347
+ Third Item Navigate to third detail
348
+
349
+
350
+ esc
351
+
352
+ Search actions...
353
+ ›Open Details
354
+ Copy Title
355
+
356
+
357
+ ↵ select ↑↓ navigate"
358
+ `);
359
+ // Open actions panel in detail view
360
+ await driver.keys.ctrlK();
361
+ const detailActionsSnapshot = await driver.text();
362
+ expect(detailActionsSnapshot).toMatchInlineSnapshot(`
363
+ "
364
+
365
+ Navigation Example ─────────────────────────────────────────────
366
+
367
+ Main view
368
+
369
+
370
+ Items
371
+ First Item Navigate to first detail
372
+ ›Second Item Navigate to second detail
373
+ Third Item Navigate to third detail
374
+
375
+
376
+ esc
377
+
378
+ Search actions...
379
+ ›Open Details
380
+ Copy Title
381
+
382
+
383
+ ↵ select ↑↓ navigate"
384
+ `);
385
+ // Select Go Back action
386
+ await driver.keys.enter();
387
+ const backViaActionSnapshot = await driver.text({
388
+ waitFor: (text) => {
389
+ return /Navigation Example/i.test(text);
390
+ },
391
+ });
392
+ expect(backViaActionSnapshot).toMatchInlineSnapshot(`
393
+ "
394
+
395
+ Detail: Second Item ────────────────────────────────────────────
396
+
397
+ Detail view - Press ESC to go back
398
+
399
+
400
+ Details
401
+ ›This is the detail view for Second Item Press Enter to go back or E
402
+
403
+
404
+ ↵ select ↑↓ navigate ^k actions"
405
+ `);
406
+ }, 15000);
407
+ test('search functionality in main and detail views', async () => {
408
+ await driver.text({
409
+ waitFor: (text) => {
410
+ // wait for main view to show up
411
+ return /Main view/i.test(text);
412
+ },
413
+ });
414
+ // Type in search bar
415
+ await driver.keys.type('second');
416
+ const searchMainSnapshot = await driver.text({
417
+ waitFor: (text) => {
418
+ return /second/i.test(text);
419
+ },
420
+ });
421
+ expect(searchMainSnapshot).toMatchInlineSnapshot(`
422
+ "
423
+
424
+ Navigation Example ─────────────────────────────────────────────
425
+
426
+ second
427
+
428
+ Second Item Navigate to second detail
429
+
430
+
431
+ ↵ select ↑↓ navigate ^k actions"
432
+ `);
433
+ // Clear search
434
+ await driver.keys.backspace();
435
+ await driver.keys.backspace();
436
+ await driver.keys.backspace();
437
+ await driver.keys.backspace();
438
+ await driver.keys.backspace();
439
+ await driver.keys.backspace();
440
+ const clearedSearchSnapshot = await driver.text();
441
+ expect(clearedSearchSnapshot).toMatchInlineSnapshot(`
442
+ "
443
+
444
+ Navigation Example ─────────────────────────────────────────────
445
+
446
+ Main view
447
+
448
+
449
+ Items
450
+ ›First Item Navigate to first detail
451
+ Second Item Navigate to second detail
452
+ Third Item Navigate to third detail
453
+
454
+
455
+ ↵ select ↑↓ navigate ^k actions"
456
+ `);
457
+ // Open actions for first item
458
+ await driver.keys.enter();
459
+ // Navigate to first item detail
460
+ await driver.keys.enter();
461
+ const firstDetailSnapshot = await driver.text({
462
+ waitFor: (text) => {
463
+ return /Detail: First Item/i.test(text);
464
+ },
465
+ });
466
+ expect(firstDetailSnapshot).toMatchInlineSnapshot(`
467
+ "
468
+
469
+ Detail: First Item ─────────────────────────────────────────────
470
+
471
+ Detail view - Press ESC to go back
472
+
473
+
474
+ Details
475
+ ›This is the detail view for First Item Press Enter to go back or ES
476
+
477
+
478
+ ↵ select ↑↓ navigate ^k actions"
479
+ `);
480
+ // Type in detail view search bar
481
+ await driver.keys.type('test');
482
+ const searchDetailSnapshot = await driver.text({
483
+ waitFor: (text) => {
484
+ return /test/i.test(text);
485
+ },
486
+ });
487
+ expect(searchDetailSnapshot).toMatchInlineSnapshot(`
488
+ "
489
+
490
+ Detail: First Item ─────────────────────────────────────────────
491
+
492
+ test
493
+
494
+
495
+
496
+ ↵ select ↑↓ navigate ^k actions"
497
+ `);
498
+ // Press ESC to go back
499
+ await driver.keys.escape();
500
+ const finalMainSnapshot = await driver.text({
501
+ waitFor: (text) => {
502
+ return /Navigation Example/i.test(text);
503
+ },
504
+ });
505
+ expect(finalMainSnapshot).toMatchInlineSnapshot(`
506
+ "
507
+
508
+ Navigation Example ─────────────────────────────────────────────
509
+
510
+ Main view
511
+
512
+
513
+ Items
514
+ ›First Item Navigate to first detail
515
+ Second Item Navigate to second detail
516
+ Third Item Navigate to third detail
517
+
518
+
519
+ ↵ select ↑↓ navigate ^k actions"
520
+ `);
521
+ }, 10000);
522
+ //# sourceMappingURL=simple-navigation.vitest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-navigation.vitest.js","sourceRoot":"","sources":["../../src/examples/simple-navigation.vitest.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/examples/store.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "@opentui/react/jsx-runtime";
2
+ import Store from '../extensions/store';
3
+ import { renderWithProviders } from '../utils';
4
+ renderWithProviders(_jsx(Store, {}));
5
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/examples/store.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,qBAAqB,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE9C,mBAAmB,CAAC,KAAC,KAAK,KAAG,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=store.vitest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.vitest.d.ts","sourceRoot":"","sources":["../../src/examples/store.vitest.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,52 @@
1
+ import { test, expect, afterEach, beforeEach } from 'vitest';
2
+ import { NodeTuiDriver } from '@termcast/cli/src/e2e-node';
3
+ let driver;
4
+ beforeEach(() => {
5
+ driver = new NodeTuiDriver('bun', ['src/examples/store.tsx'], {
6
+ cols: 80,
7
+ rows: 30,
8
+ });
9
+ });
10
+ afterEach(() => {
11
+ driver?.dispose();
12
+ });
13
+ test('Store extension - searching for spiceblow shows Database', async () => {
14
+ // Wait for store interface to load
15
+ const initialOutput = await driver.text({
16
+ waitFor: (text) => {
17
+ // Wait until we see the store title
18
+ return text.includes('Store - Install Extensions');
19
+ },
20
+ timeout: 15000,
21
+ });
22
+ // Verify the store interface loads
23
+ expect(initialOutput).toContain('Store - Install Extensions');
24
+ // Type "spiceblow" in the search bar
25
+ await driver.keys.type('spiceblow');
26
+ // Get the output after search, waiting for Database to appear
27
+ // This will automatically wait for the API request to complete and results to show
28
+ const afterSearchOutput = await driver.text({
29
+ waitFor: (text) => {
30
+ return text.includes('Search, update, insert');
31
+ },
32
+ timeout: 15000,
33
+ });
34
+ // Store the snapshot after searching for spiceblow
35
+ expect(afterSearchOutput).toMatchInlineSnapshot(`
36
+ "
37
+
38
+ Store - Install Extensions ───────────────────────────────────────────────
39
+
40
+ spiceblow
41
+
42
+ ›Spiceblow - Sql Database Management Search, update, insert and delete rows in
43
+ Spike Resolve incidents, check who is on-call, and add overrides from Raycast
44
+ Image Modification Apply filters and transformations to various image formats
45
+ Next Run Spin up a Next.js project from Raycast
46
+ Donut Show an animation of a donut
47
+
48
+
49
+ ↵ select ↑↓ navigate ^k actions"
50
+ `);
51
+ }, 30000);
52
+ //# sourceMappingURL=store.vitest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.vitest.js","sourceRoot":"","sources":["../../src/examples/store.vitest.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,IAAI,MAAqB,CAAA;AAEzB,UAAU,CAAC,GAAG,EAAE;IACd,MAAM,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC,wBAAwB,CAAC,EAAE;QAC5D,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,EAAE;KACT,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,SAAS,CAAC,GAAG,EAAE;IACb,MAAM,EAAE,OAAO,EAAE,CAAA;AACnB,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;IAC1E,mCAAmC;IACnC,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACtC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,oCAAoC;YACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAA;QACpD,CAAC;QACD,OAAO,EAAE,KAAK;KACf,CAAC,CAAA;IAEF,mCAAmC;IACnC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAA;IAE7D,qCAAqC;IACrC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAEnC,8DAA8D;IAC9D,mFAAmF;IACnF,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAA;QAChD,CAAC;QACD,OAAO,EAAE,KAAK;KACf,CAAC,CAAA;IAEF,mDAAmD;IACnD,MAAM,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;GAe/C,CAAC,CAAA;AACJ,CAAC,EAAE,KAAK,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tanstack-demo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tanstack-demo.d.ts","sourceRoot":"","sources":["../../src/examples/tanstack-demo.tsx"],"names":[],"mappings":""}