termcast 1.3.21 → 1.3.25

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 (429) hide show
  1. package/dist/ai.d.ts +104 -0
  2. package/dist/ai.d.ts.map +1 -0
  3. package/dist/ai.js +135 -0
  4. package/dist/ai.js.map +1 -0
  5. package/dist/apis/browser-extension.d.ts +18 -0
  6. package/dist/apis/browser-extension.d.ts.map +1 -0
  7. package/dist/apis/browser-extension.js +14 -0
  8. package/dist/apis/browser-extension.js.map +1 -0
  9. package/dist/apis/localstorage.d.ts.map +1 -1
  10. package/dist/apis/localstorage.js +4 -7
  11. package/dist/apis/localstorage.js.map +1 -1
  12. package/dist/apis/oauth.d.ts.map +1 -1
  13. package/dist/apis/oauth.js +5 -1
  14. package/dist/apis/oauth.js.map +1 -1
  15. package/dist/apis/preferences.d.ts.map +1 -1
  16. package/dist/apis/preferences.js +38 -19
  17. package/dist/apis/preferences.js.map +1 -1
  18. package/dist/apis/toast.d.ts +5 -0
  19. package/dist/apis/toast.d.ts.map +1 -1
  20. package/dist/apis/toast.js +7 -43
  21. package/dist/apis/toast.js.map +1 -1
  22. package/dist/build.d.ts.map +1 -1
  23. package/dist/build.js +3 -1
  24. package/dist/build.js.map +1 -1
  25. package/dist/cache.d.ts +32 -0
  26. package/dist/cache.d.ts.map +1 -0
  27. package/dist/cache.js +205 -0
  28. package/dist/cache.js.map +1 -0
  29. package/dist/cli.d.ts.map +1 -1
  30. package/dist/cli.js +87 -41
  31. package/dist/cli.js.map +1 -1
  32. package/dist/clipboard.d.ts +36 -0
  33. package/dist/clipboard.d.ts.map +1 -0
  34. package/dist/clipboard.js +154 -0
  35. package/dist/clipboard.js.map +1 -0
  36. package/dist/compile.d.ts +2 -1
  37. package/dist/compile.d.ts.map +1 -1
  38. package/dist/compile.js +31 -12
  39. package/dist/compile.js.map +1 -1
  40. package/dist/components/actions.d.ts.map +1 -1
  41. package/dist/components/actions.js +56 -30
  42. package/dist/components/actions.js.map +1 -1
  43. package/dist/components/detail.d.ts.map +1 -1
  44. package/dist/components/detail.js +4 -0
  45. package/dist/components/detail.js.map +1 -1
  46. package/dist/components/dropdown.d.ts.map +1 -1
  47. package/dist/components/dropdown.js +38 -15
  48. package/dist/components/dropdown.js.map +1 -1
  49. package/dist/components/extension-preferences.d.ts.map +1 -1
  50. package/dist/components/extension-preferences.js +40 -13
  51. package/dist/components/extension-preferences.js.map +1 -1
  52. package/dist/components/form/checkbox.d.ts.map +1 -1
  53. package/dist/components/form/checkbox.js +5 -3
  54. package/dist/components/form/checkbox.js.map +1 -1
  55. package/dist/components/form/date-picker.d.ts.map +1 -1
  56. package/dist/components/form/date-picker.js +5 -3
  57. package/dist/components/form/date-picker.js.map +1 -1
  58. package/dist/components/form/description.d.ts.map +1 -1
  59. package/dist/components/form/description.js +2 -2
  60. package/dist/components/form/description.js.map +1 -1
  61. package/dist/components/form/dropdown.d.ts.map +1 -1
  62. package/dist/components/form/dropdown.js +84 -80
  63. package/dist/components/form/dropdown.js.map +1 -1
  64. package/dist/components/form/file-autocomplete.d.ts +3 -6
  65. package/dist/components/form/file-autocomplete.d.ts.map +1 -1
  66. package/dist/components/form/file-autocomplete.js +61 -66
  67. package/dist/components/form/file-autocomplete.js.map +1 -1
  68. package/dist/components/form/file-picker.d.ts.map +1 -1
  69. package/dist/components/form/file-picker.js +33 -30
  70. package/dist/components/form/file-picker.js.map +1 -1
  71. package/dist/components/form/form-end.d.ts.map +1 -1
  72. package/dist/components/form/form-end.js +21 -1
  73. package/dist/components/form/form-end.js.map +1 -1
  74. package/dist/components/form/form-type-only.d.ts +174 -0
  75. package/dist/components/form/form-type-only.d.ts.map +1 -0
  76. package/dist/components/form/form-type-only.js +2 -0
  77. package/dist/components/form/form-type-only.js.map +1 -0
  78. package/dist/components/form/index.d.ts +3 -1
  79. package/dist/components/form/index.d.ts.map +1 -1
  80. package/dist/components/form/index.js +104 -30
  81. package/dist/components/form/index.js.map +1 -1
  82. package/dist/components/form/password-field.d.ts.map +1 -1
  83. package/dist/components/form/password-field.js +5 -3
  84. package/dist/components/form/password-field.js.map +1 -1
  85. package/dist/components/form/text-area.d.ts.map +1 -1
  86. package/dist/components/form/text-area.js +5 -3
  87. package/dist/components/form/text-area.js.map +1 -1
  88. package/dist/components/form/text-field.d.ts.map +1 -1
  89. package/dist/components/form/text-field.js +6 -4
  90. package/dist/components/form/text-field.js.map +1 -1
  91. package/dist/components/form/types.d.ts +5 -0
  92. package/dist/components/form/types.d.ts.map +1 -1
  93. package/dist/components/form/use-form-handling.d.ts +4 -0
  94. package/dist/components/form/use-form-handling.d.ts.map +1 -0
  95. package/dist/components/form/use-form-handling.js +37 -0
  96. package/dist/components/form/use-form-handling.js.map +1 -0
  97. package/dist/components/form/with-left-border.d.ts +2 -1
  98. package/dist/components/form/with-left-border.d.ts.map +1 -1
  99. package/dist/components/form/with-left-border.js +27 -3
  100. package/dist/components/form/with-left-border.js.map +1 -1
  101. package/dist/components/icon.d.ts +1 -0
  102. package/dist/components/icon.d.ts.map +1 -1
  103. package/dist/components/icon.js +24 -8
  104. package/dist/components/icon.js.map +1 -1
  105. package/dist/components/list.d.ts +2 -2
  106. package/dist/components/list.d.ts.map +1 -1
  107. package/dist/components/list.js +155 -70
  108. package/dist/components/list.js.map +1 -1
  109. package/dist/components/loading-bar.d.ts.map +1 -1
  110. package/dist/components/loading-bar.js +2 -2
  111. package/dist/components/loading-bar.js.map +1 -1
  112. package/dist/components/loading-text.d.ts +8 -0
  113. package/dist/components/loading-text.d.ts.map +1 -0
  114. package/dist/components/loading-text.js +58 -0
  115. package/dist/components/loading-text.js.map +1 -0
  116. package/dist/descendants.js +1 -1
  117. package/dist/descendants.js.map +1 -1
  118. package/dist/dev-ui.d.ts +7 -0
  119. package/dist/dev-ui.d.ts.map +1 -0
  120. package/dist/dev-ui.js +118 -0
  121. package/dist/dev-ui.js.map +1 -0
  122. package/dist/environment.d.ts +63 -0
  123. package/dist/environment.d.ts.map +1 -0
  124. package/dist/environment.js +189 -0
  125. package/dist/environment.js.map +1 -0
  126. package/dist/examples/datepicker.d.ts +2 -0
  127. package/dist/examples/datepicker.d.ts.map +1 -0
  128. package/dist/examples/datepicker.js +344 -0
  129. package/dist/examples/datepicker.js.map +1 -0
  130. package/dist/examples/file-autocomplete.vitest.d.ts +2 -0
  131. package/dist/examples/file-autocomplete.vitest.d.ts.map +1 -0
  132. package/dist/examples/file-autocomplete.vitest.js +223 -0
  133. package/dist/examples/file-autocomplete.vitest.js.map +1 -0
  134. package/dist/examples/form-basic-arrow-keys.vitest.d.ts +2 -0
  135. package/dist/examples/form-basic-arrow-keys.vitest.d.ts.map +1 -0
  136. package/dist/examples/form-basic-arrow-keys.vitest.js +46 -0
  137. package/dist/examples/form-basic-arrow-keys.vitest.js.map +1 -0
  138. package/dist/examples/form-basic.vitest.d.ts +2 -0
  139. package/dist/examples/form-basic.vitest.d.ts.map +1 -0
  140. package/dist/examples/form-basic.vitest.js +630 -0
  141. package/dist/examples/form-basic.vitest.js.map +1 -0
  142. package/dist/examples/form-dropdown-with-sections.d.ts +2 -0
  143. package/dist/examples/form-dropdown-with-sections.d.ts.map +1 -0
  144. package/dist/examples/form-dropdown-with-sections.js +13 -0
  145. package/dist/examples/form-dropdown-with-sections.js.map +1 -0
  146. package/dist/examples/form-dropdown-with-sections.vitest.d.ts +2 -0
  147. package/dist/examples/form-dropdown-with-sections.vitest.d.ts.map +1 -0
  148. package/dist/examples/form-dropdown-with-sections.vitest.js +75 -0
  149. package/dist/examples/form-dropdown-with-sections.vitest.js.map +1 -0
  150. package/dist/examples/form-dropdown.vitest.d.ts +2 -0
  151. package/dist/examples/form-dropdown.vitest.d.ts.map +1 -0
  152. package/dist/examples/form-dropdown.vitest.js +854 -0
  153. package/dist/examples/form-dropdown.vitest.js.map +1 -0
  154. package/dist/examples/form-multiselect-dropdown.d.ts +2 -0
  155. package/dist/examples/form-multiselect-dropdown.d.ts.map +1 -0
  156. package/dist/examples/form-multiselect-dropdown.js +13 -0
  157. package/dist/examples/form-multiselect-dropdown.js.map +1 -0
  158. package/dist/examples/form-scroll.d.ts.map +1 -1
  159. package/dist/examples/form-scroll.js +7 -1
  160. package/dist/examples/form-scroll.js.map +1 -1
  161. package/dist/examples/form-scroll.vitest.d.ts +2 -0
  162. package/dist/examples/form-scroll.vitest.d.ts.map +1 -0
  163. package/dist/examples/form-scroll.vitest.js +211 -0
  164. package/dist/examples/form-scroll.vitest.js.map +1 -0
  165. package/dist/examples/form-tagpicker.vitest.d.ts +2 -0
  166. package/dist/examples/form-tagpicker.vitest.d.ts.map +1 -0
  167. package/dist/examples/form-tagpicker.vitest.js +736 -0
  168. package/dist/examples/form-tagpicker.vitest.js.map +1 -0
  169. package/dist/examples/internal/descendants-filtering.js +1 -1
  170. package/dist/examples/internal/descendants-filtering.js.map +1 -1
  171. package/dist/examples/internal/descendants.js +1 -1
  172. package/dist/examples/internal/descendants.js.map +1 -1
  173. package/dist/examples/internal/nested-boxes.d.ts +2 -0
  174. package/dist/examples/internal/nested-boxes.d.ts.map +1 -0
  175. package/dist/examples/internal/nested-boxes.js +7 -0
  176. package/dist/examples/internal/nested-boxes.js.map +1 -0
  177. package/dist/examples/internal/rhf-custom-ref.js +2 -2
  178. package/dist/examples/internal/rhf-custom-ref.js.map +1 -1
  179. package/dist/examples/internal/scrollbox-demo.js +3 -22
  180. package/dist/examples/internal/scrollbox-demo.js.map +1 -1
  181. package/dist/examples/internal/scrollbox-descendants.d.ts +2 -0
  182. package/dist/examples/internal/scrollbox-descendants.d.ts.map +1 -0
  183. package/dist/examples/internal/scrollbox-descendants.js +83 -0
  184. package/dist/examples/internal/scrollbox-descendants.js.map +1 -0
  185. package/dist/examples/internal/scrollbox-with-descendants.js +4 -8
  186. package/dist/examples/internal/scrollbox-with-descendants.js.map +1 -1
  187. package/dist/examples/internal/simple-scrollbox.vitest.d.ts +2 -0
  188. package/dist/examples/internal/simple-scrollbox.vitest.d.ts.map +1 -0
  189. package/dist/examples/internal/simple-scrollbox.vitest.js +96 -0
  190. package/dist/examples/internal/simple-scrollbox.vitest.js.map +1 -0
  191. package/dist/examples/internal/unicode-square-repro.d.ts +2 -0
  192. package/dist/examples/internal/unicode-square-repro.d.ts.map +1 -0
  193. package/dist/examples/internal/unicode-square-repro.js +7 -0
  194. package/dist/examples/internal/unicode-square-repro.js.map +1 -0
  195. package/dist/examples/list-detail-metadata.d.ts +2 -0
  196. package/dist/examples/list-detail-metadata.d.ts.map +1 -0
  197. package/dist/examples/list-detail-metadata.js +8 -0
  198. package/dist/examples/list-detail-metadata.js.map +1 -0
  199. package/dist/examples/list-dropdown-default.vitest.d.ts +2 -0
  200. package/dist/examples/list-dropdown-default.vitest.d.ts.map +1 -0
  201. package/dist/examples/list-dropdown-default.vitest.js +234 -0
  202. package/dist/examples/list-dropdown-default.vitest.js.map +1 -0
  203. package/dist/examples/list-fetch-data.vitest.d.ts +2 -0
  204. package/dist/examples/list-fetch-data.vitest.d.ts.map +1 -0
  205. package/dist/examples/list-fetch-data.vitest.js +111 -0
  206. package/dist/examples/list-fetch-data.vitest.js.map +1 -0
  207. package/dist/examples/list-filter-navigation.d.ts +2 -0
  208. package/dist/examples/list-filter-navigation.d.ts.map +1 -0
  209. package/dist/examples/list-filter-navigation.js +8 -0
  210. package/dist/examples/list-filter-navigation.js.map +1 -0
  211. package/dist/examples/list-scrollbox.vitest.d.ts +2 -0
  212. package/dist/examples/list-scrollbox.vitest.d.ts.map +1 -0
  213. package/dist/examples/list-scrollbox.vitest.js +93 -0
  214. package/dist/examples/list-scrollbox.vitest.js.map +1 -0
  215. package/dist/examples/list-with-detail-long.d.ts +2 -0
  216. package/dist/examples/list-with-detail-long.d.ts.map +1 -0
  217. package/dist/examples/list-with-detail-long.js +53 -0
  218. package/dist/examples/list-with-detail-long.js.map +1 -0
  219. package/dist/examples/list-with-detail.vitest.d.ts +2 -0
  220. package/dist/examples/list-with-detail.vitest.d.ts.map +1 -0
  221. package/dist/examples/list-with-detail.vitest.js +434 -0
  222. package/dist/examples/list-with-detail.vitest.js.map +1 -0
  223. package/dist/examples/list-with-dropdown.vitest.d.ts +2 -0
  224. package/dist/examples/list-with-dropdown.vitest.d.ts.map +1 -0
  225. package/dist/examples/list-with-dropdown.vitest.js +337 -0
  226. package/dist/examples/list-with-dropdown.vitest.js.map +1 -0
  227. package/dist/examples/list-with-sections.js +5 -1
  228. package/dist/examples/list-with-sections.js.map +1 -1
  229. package/dist/examples/list-with-sections.vitest.d.ts +2 -0
  230. package/dist/examples/list-with-sections.vitest.d.ts.map +1 -0
  231. package/dist/examples/list-with-sections.vitest.js +601 -0
  232. package/dist/examples/list-with-sections.vitest.js.map +1 -0
  233. package/dist/examples/scrollbox-vertical-centering.d.ts +6 -0
  234. package/dist/examples/scrollbox-vertical-centering.d.ts.map +1 -0
  235. package/dist/examples/scrollbox-vertical-centering.js +17 -0
  236. package/dist/examples/scrollbox-vertical-centering.js.map +1 -0
  237. package/dist/examples/simple-file-picker.vitest.d.ts +2 -0
  238. package/dist/examples/simple-file-picker.vitest.d.ts.map +1 -0
  239. package/dist/examples/simple-file-picker.vitest.js +678 -0
  240. package/dist/examples/simple-file-picker.vitest.js.map +1 -0
  241. package/dist/examples/simple-grid.vitest.d.ts +2 -0
  242. package/dist/examples/simple-grid.vitest.d.ts.map +1 -0
  243. package/dist/examples/simple-grid.vitest.js +521 -0
  244. package/dist/examples/simple-grid.vitest.js.map +1 -0
  245. package/dist/examples/simple-navigation.js +10 -4
  246. package/dist/examples/simple-navigation.js.map +1 -1
  247. package/dist/examples/simple-navigation.vitest.d.ts +2 -0
  248. package/dist/examples/simple-navigation.vitest.d.ts.map +1 -0
  249. package/dist/examples/simple-navigation.vitest.js +718 -0
  250. package/dist/examples/simple-navigation.vitest.js.map +1 -0
  251. package/dist/examples/store.vitest.d.ts +2 -0
  252. package/dist/examples/store.vitest.d.ts.map +1 -0
  253. package/dist/examples/store.vitest.js +69 -0
  254. package/dist/examples/store.vitest.js.map +1 -0
  255. package/dist/examples/toast-variations.d.ts +2 -0
  256. package/dist/examples/toast-variations.d.ts.map +1 -0
  257. package/dist/examples/toast-variations.js +122 -0
  258. package/dist/examples/toast-variations.js.map +1 -0
  259. package/dist/extensions/dev.d.ts +4 -2
  260. package/dist/extensions/dev.d.ts.map +1 -1
  261. package/dist/extensions/dev.js +61 -10
  262. package/dist/extensions/dev.js.map +1 -1
  263. package/dist/extensions/dev.vitest.d.ts +2 -0
  264. package/dist/extensions/dev.vitest.d.ts.map +1 -0
  265. package/dist/extensions/dev.vitest.js +197 -0
  266. package/dist/extensions/dev.vitest.js.map +1 -0
  267. package/dist/extensions/home.d.ts.map +1 -1
  268. package/dist/extensions/home.js +3 -0
  269. package/dist/extensions/home.js.map +1 -1
  270. package/dist/home-command.d.ts +8 -0
  271. package/dist/home-command.d.ts.map +1 -0
  272. package/dist/home-command.js +181 -0
  273. package/dist/home-command.js.map +1 -0
  274. package/dist/hover-repro.d.ts +2 -0
  275. package/dist/hover-repro.d.ts.map +1 -0
  276. package/dist/hover-repro.js +20 -0
  277. package/dist/hover-repro.js.map +1 -0
  278. package/dist/index.d.ts +1 -0
  279. package/dist/index.d.ts.map +1 -1
  280. package/dist/index.js +2 -0
  281. package/dist/index.js.map +1 -1
  282. package/dist/internal/dialog.d.ts +1 -0
  283. package/dist/internal/dialog.d.ts.map +1 -1
  284. package/dist/internal/dialog.js +27 -18
  285. package/dist/internal/dialog.js.map +1 -1
  286. package/dist/internal/navigation.d.ts +9 -1
  287. package/dist/internal/navigation.d.ts.map +1 -1
  288. package/dist/internal/navigation.js +5 -5
  289. package/dist/internal/navigation.js.map +1 -1
  290. package/dist/internal/offscreen.d.ts +6 -0
  291. package/dist/internal/offscreen.d.ts.map +1 -0
  292. package/dist/internal/offscreen.js +10 -0
  293. package/dist/internal/offscreen.js.map +1 -0
  294. package/dist/internal/providers.d.ts.map +1 -1
  295. package/dist/internal/providers.js +2 -2
  296. package/dist/internal/providers.js.map +1 -1
  297. package/dist/internal/scrollbox.d.ts +1 -10
  298. package/dist/internal/scrollbox.d.ts.map +1 -1
  299. package/dist/internal/scrollbox.js +2 -1
  300. package/dist/internal/scrollbox.js.map +1 -1
  301. package/dist/localstorage.d.ts +13 -0
  302. package/dist/localstorage.d.ts.map +1 -0
  303. package/dist/localstorage.js +190 -0
  304. package/dist/localstorage.js.map +1 -0
  305. package/dist/oauth.d.ts +142 -0
  306. package/dist/oauth.d.ts.map +1 -0
  307. package/dist/oauth.js +551 -0
  308. package/dist/oauth.js.map +1 -0
  309. package/dist/preferences.d.ts +23 -0
  310. package/dist/preferences.d.ts.map +1 -0
  311. package/dist/preferences.js +105 -0
  312. package/dist/preferences.js.map +1 -0
  313. package/dist/release.d.ts +1 -1
  314. package/dist/release.d.ts.map +1 -1
  315. package/dist/release.js +29 -33
  316. package/dist/release.js.map +1 -1
  317. package/dist/state.d.ts +2 -0
  318. package/dist/state.d.ts.map +1 -1
  319. package/dist/state.js +3 -0
  320. package/dist/state.js.map +1 -1
  321. package/dist/store.d.ts +21 -0
  322. package/dist/store.d.ts.map +1 -0
  323. package/dist/store.js +84 -0
  324. package/dist/store.js.map +1 -0
  325. package/dist/swift-loader.d.ts +3 -0
  326. package/dist/swift-loader.d.ts.map +1 -0
  327. package/dist/swift-loader.js +193 -0
  328. package/dist/swift-loader.js.map +1 -0
  329. package/dist/swift-runtime.d.ts +2 -0
  330. package/dist/swift-runtime.d.ts.map +1 -0
  331. package/dist/swift-runtime.js +27 -0
  332. package/dist/swift-runtime.js.map +1 -0
  333. package/dist/toast.d.ts +44 -0
  334. package/dist/toast.d.ts.map +1 -0
  335. package/dist/toast.js +221 -0
  336. package/dist/toast.js.map +1 -0
  337. package/dist/utils/file-system.d.ts +9 -0
  338. package/dist/utils/file-system.d.ts.map +1 -1
  339. package/dist/utils/file-system.js +49 -0
  340. package/dist/utils/file-system.js.map +1 -1
  341. package/dist/utils/run-command.d.ts +26 -1
  342. package/dist/utils/run-command.d.ts.map +1 -1
  343. package/dist/utils/run-command.js +53 -4
  344. package/dist/utils/run-command.js.map +1 -1
  345. package/dist/window.d.ts +12 -0
  346. package/dist/window.d.ts.map +1 -0
  347. package/dist/window.js +48 -0
  348. package/dist/window.js.map +1 -0
  349. package/package.json +12 -12
  350. package/src/apis/browser-extension.tsx +29 -0
  351. package/src/apis/localstorage.test.ts +14 -6
  352. package/src/apis/localstorage.tsx +8 -5
  353. package/src/apis/oauth.tsx +5 -1
  354. package/src/apis/preferences.tsx +48 -22
  355. package/src/apis/toast.tsx +37 -62
  356. package/src/build.test.tsx +52 -0
  357. package/src/build.tsx +3 -1
  358. package/src/cli.tsx +99 -48
  359. package/src/compile.tsx +32 -11
  360. package/src/components/actions.tsx +94 -32
  361. package/src/components/detail.tsx +4 -0
  362. package/src/components/dropdown.tsx +47 -14
  363. package/src/components/extension-preferences.tsx +44 -16
  364. package/src/components/form/checkbox.tsx +12 -6
  365. package/src/components/form/date-picker.tsx +12 -6
  366. package/src/components/form/description.tsx +7 -2
  367. package/src/components/form/dropdown.tsx +131 -119
  368. package/src/components/form/file-autocomplete.tsx +90 -108
  369. package/src/components/form/file-picker.tsx +54 -43
  370. package/src/components/form/form-end.tsx +23 -2
  371. package/src/components/form/index.tsx +168 -41
  372. package/src/components/form/password-field.tsx +12 -6
  373. package/src/components/form/text-area.tsx +13 -6
  374. package/src/components/form/text-field.tsx +13 -6
  375. package/src/components/form/types.tsx +6 -0
  376. package/src/components/form/with-left-border.tsx +41 -8
  377. package/src/components/icon.tsx +27 -8
  378. package/src/components/list.tsx +243 -101
  379. package/src/components/loading-bar.tsx +3 -2
  380. package/src/components/loading-text.tsx +79 -0
  381. package/src/descendants.tsx +1 -0
  382. package/src/examples/file-autocomplete.vitest.tsx +130 -125
  383. package/src/examples/form-basic.vitest.tsx +376 -176
  384. package/src/examples/form-dropdown.vitest.tsx +126 -126
  385. package/src/examples/form-scroll.tsx +2 -0
  386. package/src/examples/form-scroll.vitest.tsx +58 -58
  387. package/src/examples/form-tagpicker.vitest.tsx +99 -99
  388. package/src/examples/internal/descendants-filtering.tsx +1 -0
  389. package/src/examples/internal/descendants.tsx +1 -0
  390. package/src/examples/internal/rhf-custom-ref.tsx +2 -0
  391. package/src/examples/internal/scrollbox-demo.tsx +3 -27
  392. package/src/examples/internal/scrollbox-with-descendants.tsx +4 -7
  393. package/src/examples/internal/simple-scrollbox.vitest.tsx +7 -5
  394. package/src/examples/list-detail-metadata.tsx +49 -0
  395. package/src/examples/list-detail-metadata.vitest.tsx +88 -0
  396. package/src/examples/list-dropdown-default.vitest.tsx +51 -51
  397. package/src/examples/list-fetch-data.vitest.tsx +4 -4
  398. package/src/examples/list-scrollbox.vitest.tsx +73 -14
  399. package/src/examples/list-with-detail-long.tsx +70 -0
  400. package/src/examples/list-with-detail.vitest.tsx +191 -85
  401. package/src/examples/list-with-dropdown.vitest.tsx +53 -53
  402. package/src/examples/list-with-sections.tsx +1 -0
  403. package/src/examples/list-with-sections.vitest.tsx +221 -97
  404. package/src/examples/list-with-toast.vitest.tsx +16 -16
  405. package/src/examples/simple-file-picker.vitest.tsx +63 -469
  406. package/src/examples/simple-grid.vitest.tsx +238 -233
  407. package/src/examples/simple-navigation.tsx +15 -7
  408. package/src/examples/simple-navigation.vitest.tsx +130 -219
  409. package/src/examples/store.vitest.tsx +1 -1
  410. package/src/examples/swift-extension.vitest.tsx +148 -0
  411. package/src/examples/synonyms.vitest.tsx +159 -0
  412. package/src/examples/toast-variations.tsx +150 -0
  413. package/src/examples/toast-variations.vitest.tsx +370 -0
  414. package/src/extensions/dev.tsx +74 -7
  415. package/src/extensions/dev.vitest.tsx +102 -34
  416. package/src/extensions/home.tsx +6 -0
  417. package/src/index.tsx +3 -0
  418. package/src/internal/dialog.tsx +43 -30
  419. package/src/internal/navigation.tsx +3 -1
  420. package/src/internal/offscreen.tsx +15 -0
  421. package/src/internal/providers.tsx +4 -2
  422. package/src/internal/scrollbox.tsx +4 -8
  423. package/src/keyboard.test.tsx +69 -0
  424. package/src/release.tsx +32 -38
  425. package/src/state.tsx +7 -0
  426. package/src/swift-loader.tsx +239 -0
  427. package/src/swift-runtime.tsx +36 -0
  428. package/src/utils/file-system.ts +61 -0
  429. package/src/utils/run-command.tsx +82 -6
@@ -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.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,69 @@
1
+ import { test, expect, afterEach, beforeEach } from 'vitest';
2
+ import { launchTerminal } from 'tuistory/src';
3
+ let session;
4
+ beforeEach(async () => {
5
+ session = await launchTerminal({
6
+ command: 'bun',
7
+ args: ['src/examples/store.tsx'],
8
+ cols: 80,
9
+ rows: 30,
10
+ });
11
+ });
12
+ afterEach(() => {
13
+ session?.close();
14
+ });
15
+ test('Store extension - searching for spiceblow shows Database', async () => {
16
+ // Wait for store interface to load
17
+ const initialOutput = await session.text({
18
+ waitFor: (text) => {
19
+ // Wait until we see the store title
20
+ return text.includes('Store - Install Extensions');
21
+ },
22
+ timeout: 15000,
23
+ });
24
+ // Verify the store interface loads
25
+ expect(initialOutput).toContain('Store - Install Extensions');
26
+ // Type "spiceblow" in the search bar
27
+ await session.type('spiceblow');
28
+ // Get the output after search, waiting for Database to appear
29
+ // This will automatically wait for the API request to complete and results to show
30
+ const afterSearchOutput = await session.text({
31
+ waitFor: (text) => {
32
+ return text.includes('Search, update, insert');
33
+ },
34
+ timeout: 15000,
35
+ });
36
+ // Store the snapshot after searching for spiceblow
37
+ expect(afterSearchOutput).toMatchInlineSnapshot(`
38
+ "
39
+
40
+
41
+ Store - Install Extensions ───────────────────────────────────────────────
42
+
43
+ spiceblow
44
+
45
+ ›Spiceblow - Sql Database Management Search, update, insert and delete row
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
+ ↵ select ↑↓ navigate ^k actions"
67
+ `);
68
+ }, 30000);
69
+ //# 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,cAAc,EAAW,MAAM,cAAc,CAAA;AAEtD,IAAI,OAAgB,CAAA;AAEpB,UAAU,CAAC,KAAK,IAAI,EAAE;IACpB,OAAO,GAAG,MAAM,cAAc,CAAC;QAC7B,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,wBAAwB,CAAC;QAChC,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,EAAE;KACT,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,SAAS,CAAC,GAAG,EAAE;IACb,OAAO,EAAE,KAAK,EAAE,CAAA;AAClB,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;IAC1E,mCAAmC;IACnC,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;QACvC,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,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAE/B,8DAA8D;IAC9D,mFAAmF;IACnF,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;QAC3C,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8B/C,CAAC,CAAA;AACJ,CAAC,EAAE,KAAK,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=toast-variations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast-variations.d.ts","sourceRoot":"","sources":["../../src/examples/toast-variations.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,122 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { List, ActionPanel, Action, renderWithProviders } from 'termcast';
4
+ import { Toast, ToastContent } from 'termcast/src/apis/toast';
5
+ const toastVariations = [
6
+ {
7
+ name: 'Simple Success',
8
+ toast: new Toast({
9
+ title: 'Success',
10
+ style: Toast.Style.Success,
11
+ }),
12
+ },
13
+ {
14
+ name: 'Simple Failure',
15
+ toast: new Toast({
16
+ title: 'Error',
17
+ style: Toast.Style.Failure,
18
+ }),
19
+ },
20
+ {
21
+ name: 'With Short Message',
22
+ toast: new Toast({
23
+ title: 'Copied',
24
+ message: 'Text copied to clipboard',
25
+ style: Toast.Style.Success,
26
+ }),
27
+ },
28
+ {
29
+ name: 'With Long Message',
30
+ toast: new Toast({
31
+ title: 'Error',
32
+ message: 'This is a very long error message that should wrap to multiple lines when displayed in the toast component. It contains detailed information about what went wrong during the operation.',
33
+ style: Toast.Style.Failure,
34
+ }),
35
+ },
36
+ {
37
+ name: 'With Super Long Message',
38
+ toast: new Toast({
39
+ title: 'Warning',
40
+ message: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.',
41
+ style: Toast.Style.Failure,
42
+ }),
43
+ },
44
+ {
45
+ name: 'With Primary Action',
46
+ toast: new Toast({
47
+ title: 'File Deleted',
48
+ message: 'document.pdf was moved to trash',
49
+ style: Toast.Style.Success,
50
+ primaryAction: {
51
+ title: 'Undo',
52
+ onAction: () => { },
53
+ },
54
+ }),
55
+ },
56
+ {
57
+ name: 'With Both Actions',
58
+ toast: new Toast({
59
+ title: 'Update Available',
60
+ message: 'Version 2.0 is ready to install',
61
+ style: Toast.Style.Success,
62
+ primaryAction: {
63
+ title: 'Install',
64
+ onAction: () => { },
65
+ },
66
+ secondaryAction: {
67
+ title: 'Later',
68
+ onAction: () => { },
69
+ },
70
+ }),
71
+ },
72
+ {
73
+ name: 'Long Title with Actions',
74
+ toast: new Toast({
75
+ title: 'Operation Completed Successfully',
76
+ message: 'All files have been processed',
77
+ style: Toast.Style.Success,
78
+ primaryAction: {
79
+ title: 'View Results',
80
+ onAction: () => { },
81
+ },
82
+ secondaryAction: {
83
+ title: 'Dismiss',
84
+ onAction: () => { },
85
+ },
86
+ }),
87
+ },
88
+ {
89
+ name: 'Animated Loading',
90
+ toast: new Toast({
91
+ title: 'Processing',
92
+ message: 'Please wait while we process your request...',
93
+ style: Toast.Style.Animated,
94
+ }),
95
+ },
96
+ {
97
+ name: 'Error with Retry',
98
+ toast: new Toast({
99
+ title: 'Connection Failed',
100
+ message: 'Unable to connect to the server. Please check your internet connection and try again.',
101
+ style: Toast.Style.Failure,
102
+ primaryAction: {
103
+ title: 'Retry',
104
+ onAction: () => { },
105
+ },
106
+ }),
107
+ },
108
+ ];
109
+ function ToastVariationsExample() {
110
+ const [selectedIndex, setSelectedIndex] = useState(0);
111
+ const selectedToast = toastVariations[selectedIndex];
112
+ return (_jsxs("box", { flexDirection: "column", width: "100%", height: "100%", children: [_jsx(List, { navigationTitle: "Toast Variations", onSelectionChange: (id) => {
113
+ if (id) {
114
+ const index = toastVariations.findIndex((v) => v.name === id);
115
+ if (index !== -1) {
116
+ setSelectedIndex(index);
117
+ }
118
+ }
119
+ }, children: toastVariations.map((variation) => (_jsx(List.Item, { id: variation.name, title: variation.name, actions: _jsx(ActionPanel, { children: _jsx(Action, { title: "Select", onAction: () => { } }) }) }, variation.name))) }), _jsx("box", { position: "absolute", bottom: 0, left: 0, width: "100%", children: _jsx(ToastContent, { toast: selectedToast.toast, onHide: () => { } }) })] }));
120
+ }
121
+ renderWithProviders(_jsx(ToastVariationsExample, {}));
122
+ //# sourceMappingURL=toast-variations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast-variations.js","sourceRoot":"","sources":["../../src/examples/toast-variations.tsx"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
- export declare function startDevMode({ extensionPath, }: {
1
+ export declare function startDevMode({ extensionPath, skipArgv, }: {
2
2
  extensionPath: string;
3
+ skipArgv?: number;
3
4
  }): Promise<void>;
4
- export declare function startCompiledExtension({ extensionPath, compiledCommands, }: {
5
+ export declare function startCompiledExtension({ extensionPath, compiledCommands, skipArgv, }: {
5
6
  extensionPath: string;
6
7
  compiledCommands: Array<{
7
8
  name: string;
8
9
  bundledPath: string;
9
10
  Component: (props: any) => any;
10
11
  }>;
12
+ skipArgv?: number;
11
13
  }): Promise<void>;
12
14
  export declare function triggerRebuild({ extensionPath, }: {
13
15
  extensionPath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/extensions/dev.tsx"],"names":[],"mappings":"AA6HA,wBAAsB,YAAY,CAAC,EACjC,aAAa,GACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAA;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0ChB;AAED,wBAAsB,sBAAsB,CAAC,EAC3C,aAAa,EACb,gBAAgB,GACjB,EAAE;IACD,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,KAAK,CAAC;QACtB,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;QACnB,SAAS,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;KAC/B,CAAC,CAAA;CACH,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BhB;AAED,wBAAsB,cAAc,CAAC,EACnC,aAAa,GACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAA;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgChB"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/extensions/dev.tsx"],"names":[],"mappings":"AAkKA,wBAAsB,YAAY,CAAC,EACjC,aAAa,EACb,QAAY,GACb,EAAE;IACD,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDhB;AAED,wBAAsB,sBAAsB,CAAC,EAC3C,aAAa,EACb,gBAAgB,EAChB,QAAY,GACb,EAAE;IACD,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,KAAK,CAAC;QACtB,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;QACnB,SAAS,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;KAC/B,CAAC,CAAA;IACF,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2ChB;AAED,wBAAsB,cAAc,CAAC,EACnC,aAAa,GACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAA;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmChB"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
2
2
  import fs from 'node:fs';
3
3
  import path from 'node:path';
4
+ import React from 'react';
4
5
  import { createRoot } from '@opentui/react';
5
6
  import { createCliRenderer } from '@opentui/core';
6
7
  import { List, useStore } from 'termcast';
@@ -11,13 +12,13 @@ import { showToast, Toast } from 'termcast/src/apis/toast';
11
12
  import { Icon } from 'termcast';
12
13
  import { getCommandsWithFiles } from '../package-json';
13
14
  import { buildExtensionCommands } from '../build';
14
- import { runCommand, clearCommandArguments } from '../utils/run-command';
15
- function ExtensionCommandsList({ extensionPath, commands, }) {
15
+ import { runCommand, clearCommandArguments, parseExtensionArgs, handleHelpFlag, } from '../utils/run-command';
16
+ function ExtensionCommandsList({ extensionPath, commands, skipArgv, }) {
16
17
  const { push } = useNavigation();
17
18
  const { packageJson } = getCommandsWithFiles({
18
19
  packageJsonPath: path.join(extensionPath, 'package.json'),
19
20
  });
20
- const devRebuildCount = useStore((state) => state.devRebuildCount);
21
+ const visibleCommands = commands.filter((cmd) => cmd.mode !== 'menu-bar');
21
22
  const handleCommandSelect = async (command) => {
22
23
  clearCommandArguments();
23
24
  if (!command.bundledPath && !command.Component) {
@@ -36,7 +37,6 @@ function ExtensionCommandsList({ extensionPath, commands, }) {
36
37
  bundledPath: command.bundledPath,
37
38
  Component: command.Component,
38
39
  push,
39
- cacheBustParam: String(devRebuildCount),
40
40
  });
41
41
  }
42
42
  catch (error) {
@@ -47,7 +47,34 @@ function ExtensionCommandsList({ extensionPath, commands, }) {
47
47
  });
48
48
  }
49
49
  };
50
- return (_jsxs(List, { navigationTitle: packageJson.title || 'Extension Commands', searchBarPlaceholder: 'Search commands...', children: [_jsx(List.Section, { title: 'Commands', children: commands.filter((cmd) => cmd.mode !== 'menu-bar').map((command) => (_jsx(List.Item, { id: command.name, title: command.title, subtitle: command.description, icon: command.icon ? Icon[command.icon] : undefined, accessories: [
50
+ // Auto-run command from CLI arg or single command
51
+ React.useLayoutEffect(() => {
52
+ // Only parse argv on initial load (when skipArgv is provided), not on rebuilds
53
+ if (skipArgv != null) {
54
+ const { commandName } = parseExtensionArgs({ skipArgv });
55
+ if (commandName) {
56
+ const command = visibleCommands.find((cmd) => cmd.name === commandName);
57
+ if (command) {
58
+ handleCommandSelect(command);
59
+ }
60
+ else {
61
+ showToast({
62
+ style: Toast.Style.Failure,
63
+ title: 'Command not found',
64
+ message: `No command named "${commandName}"`,
65
+ });
66
+ }
67
+ return;
68
+ }
69
+ }
70
+ if (visibleCommands.length === 1) {
71
+ handleCommandSelect(visibleCommands[0]);
72
+ }
73
+ }, []);
74
+ if (visibleCommands.length === 1) {
75
+ return null;
76
+ }
77
+ return (_jsxs(List, { navigationTitle: packageJson.title || 'Extension Commands', searchBarPlaceholder: 'Search commands...', children: [_jsx(List.Section, { title: 'Commands', children: visibleCommands.map((command) => (_jsx(List.Item, { id: command.name, title: command.title, subtitle: command.description, icon: command.icon ? Icon[command.icon] : undefined, accessories: [
51
78
  { text: command.mode },
52
79
  ...(command.bundledPath
53
80
  ? []
@@ -59,9 +86,9 @@ function ExtensionCommandsList({ extensionPath, commands, }) {
59
86
  ]),
60
87
  ], keywords: command.keywords, actions: _jsxs(ActionPanel, { children: [_jsx(Action, { title: 'Run Command', onAction: () => {
61
88
  handleCommandSelect(command);
62
- } }), _jsx(Action.CopyToClipboard, { content: command.filePath, title: 'Copy File Path' }), _jsx(Action.CopyToClipboard, { content: JSON.stringify(command, null, 2), title: 'Copy Command Info' })] }) }, command.name))) }), commands.length === 0 && (_jsx(List.Section, { title: 'No Commands', children: _jsx(List.Item, { title: 'No commands found', subtitle: 'Check your package.json for command definitions' }) }))] }));
89
+ } }), _jsx(Action.CopyToClipboard, { content: command.filePath, title: 'Copy File Path' }), _jsx(Action.CopyToClipboard, { content: JSON.stringify(command, null, 2), title: 'Copy Command Info' })] }) }, command.name))) }), visibleCommands.length === 0 && (_jsx(List.Section, { title: 'No Commands', children: _jsx(List.Item, { title: 'No commands found', subtitle: 'Check your package.json for command definitions' }) }))] }));
63
90
  }
64
- export async function startDevMode({ extensionPath, }) {
91
+ export async function startDevMode({ extensionPath, skipArgv = 0, }) {
65
92
  const resolvedPath = path.resolve(extensionPath);
66
93
  if (!fs.existsSync(resolvedPath)) {
67
94
  throw new Error(`Extension path does not exist: ${resolvedPath}`);
@@ -78,12 +105,22 @@ export async function startDevMode({ extensionPath, }) {
78
105
  format: 'esm',
79
106
  target: 'bun',
80
107
  });
108
+ // Handle --help before rendering
109
+ handleHelpFlag({
110
+ extensionName: packageJson.title || packageJson.name,
111
+ commands: commands.map((cmd) => ({
112
+ name: cmd.name,
113
+ title: cmd.title,
114
+ description: cmd.description,
115
+ })),
116
+ skipArgv,
117
+ });
81
118
  // Reset state and set extension information
82
119
  useStore.setState({
83
120
  ...useStore.getInitialState(),
84
121
  extensionPath: resolvedPath,
85
122
  extensionPackageJson: packageJson,
86
- devElement: (_jsx(ExtensionCommandsList, { extensionPath: resolvedPath, commands: commands })),
123
+ devElement: (_jsx(ExtensionCommandsList, { extensionPath: resolvedPath, commands: commands, skipArgv: skipArgv })),
87
124
  devRebuildCount: 1,
88
125
  });
89
126
  function App() {
@@ -94,7 +131,7 @@ export async function startDevMode({ extensionPath, }) {
94
131
  const renderer = await createCliRenderer();
95
132
  createRoot(renderer).render(_jsx(App, {}));
96
133
  }
97
- export async function startCompiledExtension({ extensionPath, compiledCommands, }) {
134
+ export async function startCompiledExtension({ extensionPath, compiledCommands, skipArgv = 0, }) {
98
135
  const packageJsonPath = path.join(extensionPath, 'package.json');
99
136
  const { packageJson, commands: commandsMetadata } = getCommandsWithFiles({
100
137
  packageJsonPath,
@@ -107,11 +144,22 @@ export async function startCompiledExtension({ extensionPath, compiledCommands,
107
144
  Component: compiled.Component,
108
145
  };
109
146
  });
147
+ // Handle --help before rendering
148
+ handleHelpFlag({
149
+ extensionName: packageJson.title || packageJson.name,
150
+ commands: commands.map((cmd) => ({
151
+ name: cmd.name,
152
+ title: cmd.title,
153
+ description: cmd.description,
154
+ })),
155
+ skipArgv,
156
+ });
110
157
  useStore.setState({
111
158
  ...useStore.getInitialState(),
112
159
  extensionPath,
113
160
  extensionPackageJson: packageJson,
114
- devElement: (_jsx(ExtensionCommandsList, { extensionPath: extensionPath, commands: commands })),
161
+ devElement: (_jsx(ExtensionCommandsList, { extensionPath: extensionPath, commands: commands, skipArgv: skipArgv })),
162
+ devRebuildCount: 1,
115
163
  });
116
164
  function App() {
117
165
  const devElement = useStore((state) => state.devElement);
@@ -136,6 +184,9 @@ export async function triggerRebuild({ extensionPath, }) {
136
184
  extensionPackageJson: packageJson,
137
185
  devElement: (_jsx(ExtensionCommandsList, { extensionPath: extensionPath, commands: commands })),
138
186
  devRebuildCount: state.devRebuildCount + 1,
187
+ navigationStack: [], // Reset navigation so NavigationProvider re-initializes with new devElement
188
+ dialogStack: [], // Clear any open dialogs/toasts on rebuild
189
+ toast: null,
139
190
  });
140
191
  }
141
192
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/extensions/dev.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/extensions/dev.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dev.vitest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev.vitest.d.ts","sourceRoot":"","sources":["../../src/extensions/dev.vitest.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,197 @@
1
+ import { test, expect, afterEach, beforeEach } from 'vitest';
2
+ import { launchTerminal } from 'tuistory/src';
3
+ import path from 'node:path';
4
+ let session;
5
+ const fixtureDir = path.resolve(__dirname, '../../fixtures/simple-extension');
6
+ beforeEach(async () => {
7
+ session = await launchTerminal({
8
+ command: 'bun',
9
+ args: ['src/cli.tsx', 'dev', fixtureDir],
10
+ cols: 60,
11
+ rows: 16,
12
+ });
13
+ });
14
+ afterEach(() => {
15
+ session?.close();
16
+ });
17
+ test('dev command shows extension commands list', async () => {
18
+ await session.text({
19
+ waitFor: (text) => /Simple Test Extension/i.test(text),
20
+ timeout: 10000,
21
+ });
22
+ const snapshot = await session.text();
23
+ expect(snapshot).toMatchInlineSnapshot(`
24
+ "
25
+
26
+
27
+ Simple Test Extension ────────────────────────────────
28
+
29
+ Search commands...
30
+
31
+ Commands ▲
32
+ ›List Items Displays a simple list with some ite view ▀
33
+ Search Items Search and filter through a list o view
34
+ Google Oauth view
35
+ usePromise Demo Shows how to use the usePromise view
36
+
37
+
38
+
39
+ ↵ select ↑↓ navigate ^k actions"
40
+ `);
41
+ }, 30000);
42
+ test('selecting command with arguments shows arguments form', async () => {
43
+ await session.text({
44
+ waitFor: (text) => /Simple Test Extension/i.test(text),
45
+ timeout: 10000,
46
+ });
47
+ // Navigate to "With Arguments" command (6th item)
48
+ await session.press('down');
49
+ await session.press('down');
50
+ await session.press('down');
51
+ await session.press('down');
52
+ await session.press('down');
53
+ const selectedSnapshot = await session.text();
54
+ expect(selectedSnapshot).toMatchInlineSnapshot(`
55
+ "
56
+
57
+
58
+ Simple Test Extension ────────────────────────────────
59
+
60
+ Search commands...
61
+
62
+ Search Items Search and filter through a list o view ▲
63
+ Google Oauth view
64
+ usePromise Demo Shows how to use the usePromise view ▄
65
+ Show State Shows the current application state view
66
+ ›With Arguments Demonstrates command arguments ( view
67
+
68
+
69
+
70
+ ↵ select ↑↓ navigate ^k actions"
71
+ `);
72
+ // Select the command to show arguments form (enter opens action panel, enter again runs)
73
+ await session.press('enter');
74
+ await session.press('enter');
75
+ await session.text({
76
+ waitFor: (text) => /Search query/i.test(text),
77
+ timeout: 10000,
78
+ });
79
+ const argsFormSnapshot = await session.text();
80
+ expect(argsFormSnapshot).toMatchInlineSnapshot(`
81
+ "
82
+
83
+
84
+ ▪ With Arguments █
85
+ │ Enter the arguments to run this command. ▀
86
+
87
+ ◆ Search query
88
+ ┃ Search query
89
+
90
+ ◇ Secret key
91
+ │ Secret key
92
+ ◇ Category
93
+ │ Category
94
+
95
+
96
+ alt ↵ submit ↑↓ navigate ^k actions"
97
+ `);
98
+ }, 30000);
99
+ test('can fill arguments and run command', async () => {
100
+ await session.text({
101
+ waitFor: (text) => /Simple Test Extension/i.test(text),
102
+ timeout: 10000,
103
+ });
104
+ // Navigate to "With Arguments" command
105
+ await session.press('down');
106
+ await session.press('down');
107
+ await session.press('down');
108
+ await session.press('down');
109
+ await session.press('down');
110
+ await session.press('enter');
111
+ await session.press('enter');
112
+ await session.text({
113
+ waitFor: (text) => /Search query/i.test(text),
114
+ timeout: 10000,
115
+ });
116
+ // Type in the search query field
117
+ await session.type('my search term');
118
+ const afterTypingSnapshot = await session.text();
119
+ expect(afterTypingSnapshot).toMatchInlineSnapshot(`
120
+ "
121
+
122
+
123
+ ▪ With Arguments █
124
+ │ Enter the arguments to run this command. ▀
125
+
126
+ ◆ Search query
127
+ ┃ my search term
128
+
129
+ ◇ Secret key
130
+ │ Secret key
131
+ ◇ Category
132
+ │ Category
133
+
134
+
135
+ alt ↵ submit ↑↓ navigate ^k actions"
136
+ `);
137
+ // Submit the form with Alt+Enter (opens action panel), then Enter (selects submit)
138
+ await session.press(['alt', 'enter']);
139
+ await session.press('enter');
140
+ await session.text({
141
+ waitFor: (text) => /Received Arguments/i.test(text),
142
+ timeout: 10000,
143
+ });
144
+ const commandResultSnapshot = await session.text();
145
+ expect(commandResultSnapshot).toMatchInlineSnapshot(`
146
+ "
147
+
148
+
149
+ Command Arguments Demo ───────────────────────────────
150
+
151
+ Search...
152
+
153
+ Received Arguments
154
+ ›Search Query my search term
155
+ Secret Key (empty)
156
+ Category (empty)
157
+
158
+
159
+
160
+ ↵ sele┌────────────────────────────────────────┐
161
+ │ ✓ Copied to Clipboard - my search term │
162
+ └────────────────────────────────────────┘"
163
+ `);
164
+ }, 30000);
165
+ test('can run simple view command without arguments', async () => {
166
+ await session.text({
167
+ waitFor: (text) => /Simple Test Extension/i.test(text),
168
+ timeout: 10000,
169
+ });
170
+ // Select first command (List Items) - enter opens action panel, enter again runs
171
+ await session.press('enter');
172
+ await session.press('enter');
173
+ await session.text({
174
+ waitFor: (text) => /First Item/i.test(text),
175
+ timeout: 10000,
176
+ });
177
+ const listItemsSnapshot = await session.text();
178
+ expect(listItemsSnapshot).toMatchInlineSnapshot(`
179
+ "
180
+
181
+
182
+ List Items ───────────────────────────────────────────
183
+
184
+ Search...
185
+
186
+ Items ▲
187
+ ›First Item This is the first item █
188
+ Second Item This is the second item
189
+ Third Item This is the third item
190
+ Fourth Item This is the fourth item
191
+
192
+
193
+
194
+ ↵ select ↑↓ navigate ^k actions"
195
+ `);
196
+ }, 30000);
197
+ //# sourceMappingURL=dev.vitest.js.map