termcast 1.3.10 → 1.3.16

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 (500) hide show
  1. package/dist/apis/toast.d.ts +1 -5
  2. package/dist/apis/toast.d.ts.map +1 -1
  3. package/dist/apis/toast.js +23 -17
  4. package/dist/apis/toast.js.map +1 -1
  5. package/dist/build.d.ts +2 -0
  6. package/dist/build.d.ts.map +1 -1
  7. package/dist/build.js +4 -3
  8. package/dist/build.js.map +1 -1
  9. package/dist/cli.js +42 -0
  10. package/dist/cli.js.map +1 -1
  11. package/dist/colors.d.ts +8 -1
  12. package/dist/colors.d.ts.map +1 -1
  13. package/dist/colors.js +12 -0
  14. package/dist/colors.js.map +1 -1
  15. package/dist/compile.d.ts +30 -0
  16. package/dist/compile.d.ts.map +1 -0
  17. package/dist/compile.js +156 -0
  18. package/dist/compile.js.map +1 -0
  19. package/dist/components/actions.d.ts +1 -0
  20. package/dist/components/actions.d.ts.map +1 -1
  21. package/dist/components/actions.js +5 -2
  22. package/dist/components/actions.js.map +1 -1
  23. package/dist/components/command-arguments.d.ts +9 -0
  24. package/dist/components/command-arguments.d.ts.map +1 -0
  25. package/dist/components/command-arguments.js +21 -0
  26. package/dist/components/command-arguments.js.map +1 -0
  27. package/dist/components/detail.d.ts +1 -1
  28. package/dist/components/detail.d.ts.map +1 -1
  29. package/dist/components/detail.js +17 -39
  30. package/dist/components/detail.js.map +1 -1
  31. package/dist/components/dropdown.d.ts +1 -0
  32. package/dist/components/dropdown.d.ts.map +1 -1
  33. package/dist/components/dropdown.js +77 -21
  34. package/dist/components/dropdown.js.map +1 -1
  35. package/dist/components/extension-preferences.d.ts.map +1 -1
  36. package/dist/components/extension-preferences.js +19 -29
  37. package/dist/components/extension-preferences.js.map +1 -1
  38. package/dist/components/form/checkbox.d.ts.map +1 -1
  39. package/dist/components/form/checkbox.js +9 -2
  40. package/dist/components/form/checkbox.js.map +1 -1
  41. package/dist/components/form/date-picker.d.ts.map +1 -1
  42. package/dist/components/form/date-picker.js +15 -28
  43. package/dist/components/form/date-picker.js.map +1 -1
  44. package/dist/components/form/description.d.ts +2 -0
  45. package/dist/components/form/description.d.ts.map +1 -1
  46. package/dist/components/form/description.js +20 -2
  47. package/dist/components/form/description.js.map +1 -1
  48. package/dist/components/form/dropdown.d.ts.map +1 -1
  49. package/dist/components/form/dropdown.js +13 -28
  50. package/dist/components/form/dropdown.js.map +1 -1
  51. package/dist/components/form/file-autocomplete.d.ts +7 -4
  52. package/dist/components/form/file-autocomplete.d.ts.map +1 -1
  53. package/dist/components/form/file-autocomplete.js +54 -46
  54. package/dist/components/form/file-autocomplete.js.map +1 -1
  55. package/dist/components/form/file-picker.d.ts +5 -0
  56. package/dist/components/form/file-picker.d.ts.map +1 -1
  57. package/dist/components/form/file-picker.js +46 -49
  58. package/dist/components/form/file-picker.js.map +1 -1
  59. package/dist/components/form/form-ref.d.ts +43 -0
  60. package/dist/components/form/form-ref.d.ts.map +1 -0
  61. package/dist/components/form/form-ref.js +53 -0
  62. package/dist/components/form/form-ref.js.map +1 -0
  63. package/dist/components/form/index.d.ts +16 -0
  64. package/dist/components/form/index.d.ts.map +1 -1
  65. package/dist/components/form/index.js +86 -23
  66. package/dist/components/form/index.js.map +1 -1
  67. package/dist/components/form/password-field.d.ts.map +1 -1
  68. package/dist/components/form/password-field.js +32 -16
  69. package/dist/components/form/password-field.js.map +1 -1
  70. package/dist/components/form/text-area.d.ts.map +1 -1
  71. package/dist/components/form/text-area.js +32 -15
  72. package/dist/components/form/text-area.js.map +1 -1
  73. package/dist/components/form/text-field.d.ts.map +1 -1
  74. package/dist/components/form/text-field.js +37 -17
  75. package/dist/components/form/text-field.js.map +1 -1
  76. package/dist/components/form/use-form-navigation.d.ts +4 -0
  77. package/dist/components/form/use-form-navigation.d.ts.map +1 -1
  78. package/dist/components/form/use-form-navigation.js +35 -18
  79. package/dist/components/form/use-form-navigation.js.map +1 -1
  80. package/dist/components/form/with-left-border.d.ts.map +1 -1
  81. package/dist/components/form/with-left-border.js +2 -2
  82. package/dist/components/form/with-left-border.js.map +1 -1
  83. package/dist/components/icon.d.ts +3 -1
  84. package/dist/components/icon.d.ts.map +1 -1
  85. package/dist/components/icon.js +494 -469
  86. package/dist/components/icon.js.map +1 -1
  87. package/dist/components/list.d.ts +11 -7
  88. package/dist/components/list.d.ts.map +1 -1
  89. package/dist/components/list.js +170 -38
  90. package/dist/components/list.js.map +1 -1
  91. package/dist/components/loading-bar.js +1 -1
  92. package/dist/components/loading-bar.js.map +1 -1
  93. package/dist/descendants.d.ts.map +1 -1
  94. package/dist/descendants.js +8 -5
  95. package/dist/descendants.js.map +1 -1
  96. package/dist/examples/action-show-in-finder.js +1 -1
  97. package/dist/examples/action-show-in-finder.js.map +1 -1
  98. package/dist/examples/environment-test.js +1 -1
  99. package/dist/examples/environment-test.js.map +1 -1
  100. package/dist/examples/error-boundary.js +1 -1
  101. package/dist/examples/error-boundary.js.map +1 -1
  102. package/dist/examples/form-basic.d.ts.map +1 -1
  103. package/dist/examples/form-basic.js +2 -2
  104. package/dist/examples/form-basic.js.map +1 -1
  105. package/dist/examples/form-dropdown.js +1 -1
  106. package/dist/examples/form-dropdown.js.map +1 -1
  107. package/dist/examples/form-scroll.d.ts +2 -0
  108. package/dist/examples/form-scroll.d.ts.map +1 -0
  109. package/dist/examples/form-scroll.js +8 -0
  110. package/dist/examples/form-scroll.js.map +1 -0
  111. package/dist/examples/form-tagpicker.js +1 -1
  112. package/dist/examples/form-tagpicker.js.map +1 -1
  113. package/dist/examples/internal/descendants-filtering.js +8 -3
  114. package/dist/examples/internal/descendants-filtering.js.map +1 -1
  115. package/dist/examples/internal/descendants.js +10 -3
  116. package/dist/examples/internal/descendants.js.map +1 -1
  117. package/dist/examples/internal/rhf-custom-ref.d.ts +2 -0
  118. package/dist/examples/internal/rhf-custom-ref.d.ts.map +1 -0
  119. package/dist/examples/internal/rhf-custom-ref.js +67 -0
  120. package/dist/examples/internal/rhf-custom-ref.js.map +1 -0
  121. package/dist/examples/internal/scrollbox-demo.js +3 -7
  122. package/dist/examples/internal/scrollbox-demo.js.map +1 -1
  123. package/dist/examples/internal/scrollbox-with-descendants.d.ts +2 -0
  124. package/dist/examples/internal/scrollbox-with-descendants.d.ts.map +1 -0
  125. package/dist/examples/internal/scrollbox-with-descendants.js +63 -0
  126. package/dist/examples/internal/scrollbox-with-descendants.js.map +1 -0
  127. package/dist/examples/internal/simple-dialog.js +1 -1
  128. package/dist/examples/internal/simple-dialog.js.map +1 -1
  129. package/dist/examples/internal/simple-scrollbox.js +2 -3
  130. package/dist/examples/internal/simple-scrollbox.js.map +1 -1
  131. package/dist/examples/internal/text-stacking.js +4 -2
  132. package/dist/examples/internal/text-stacking.js.map +1 -1
  133. package/dist/examples/list-dropdown-default.js +1 -1
  134. package/dist/examples/list-dropdown-default.js.map +1 -1
  135. package/dist/examples/list-fetch-data.js +1 -1
  136. package/dist/examples/list-fetch-data.js.map +1 -1
  137. package/dist/examples/list-scrollbox.d.ts +2 -0
  138. package/dist/examples/list-scrollbox.d.ts.map +1 -0
  139. package/dist/examples/list-scrollbox.js +29 -0
  140. package/dist/examples/list-scrollbox.js.map +1 -0
  141. package/dist/examples/list-with-detail.js +1 -1
  142. package/dist/examples/list-with-detail.js.map +1 -1
  143. package/dist/examples/list-with-dropdown.js +1 -1
  144. package/dist/examples/list-with-dropdown.js.map +1 -1
  145. package/dist/examples/list-with-sections.js +3 -3
  146. package/dist/examples/list-with-sections.js.map +1 -1
  147. package/dist/examples/miscellaneous.js +1 -1
  148. package/dist/examples/miscellaneous.js.map +1 -1
  149. package/dist/examples/nested-navigation.js +4 -2
  150. package/dist/examples/nested-navigation.js.map +1 -1
  151. package/dist/examples/preferences-test.js +1 -1
  152. package/dist/examples/preferences-test.js.map +1 -1
  153. package/dist/examples/simple-dropdown.js +1 -1
  154. package/dist/examples/simple-dropdown.js.map +1 -1
  155. package/dist/examples/simple-file-picker.js +1 -1
  156. package/dist/examples/simple-file-picker.js.map +1 -1
  157. package/dist/examples/simple-grid.js +1 -1
  158. package/dist/examples/simple-grid.js.map +1 -1
  159. package/dist/examples/simple-hud.js +1 -1
  160. package/dist/examples/simple-hud.js.map +1 -1
  161. package/dist/examples/simple-list-search.js +1 -1
  162. package/dist/examples/simple-list-search.js.map +1 -1
  163. package/dist/examples/simple-list.js +1 -1
  164. package/dist/examples/simple-list.js.map +1 -1
  165. package/dist/examples/simple-navigation.js +4 -2
  166. package/dist/examples/simple-navigation.js.map +1 -1
  167. package/dist/examples/store.js +1 -1
  168. package/dist/examples/store.js.map +1 -1
  169. package/dist/examples/submodule-diff.d.ts +2 -0
  170. package/dist/examples/submodule-diff.d.ts.map +1 -0
  171. package/dist/examples/submodule-diff.js +99 -0
  172. package/dist/examples/submodule-diff.js.map +1 -0
  173. package/dist/examples/tanstack-demo.js +1 -1
  174. package/dist/examples/tanstack-demo.js.map +1 -1
  175. package/dist/examples/use-promise-demo.js +1 -1
  176. package/dist/examples/use-promise-demo.js.map +1 -1
  177. package/dist/extensions/dev.d.ts +8 -0
  178. package/dist/extensions/dev.d.ts.map +1 -1
  179. package/dist/extensions/dev.js +53 -28
  180. package/dist/extensions/dev.js.map +1 -1
  181. package/dist/extensions/home.d.ts.map +1 -1
  182. package/dist/extensions/home.js +16 -91
  183. package/dist/extensions/home.js.map +1 -1
  184. package/dist/globals.js +1 -1
  185. package/dist/globals.js.map +1 -1
  186. package/dist/index.d.ts +3 -1
  187. package/dist/index.d.ts.map +1 -1
  188. package/dist/index.js +5 -1
  189. package/dist/index.js.map +1 -1
  190. package/dist/internal/date-picker-widget.d.ts.map +1 -1
  191. package/dist/internal/date-picker-widget.js +56 -48
  192. package/dist/internal/date-picker-widget.js.map +1 -1
  193. package/dist/internal/dialog.d.ts.map +1 -1
  194. package/dist/internal/dialog.js +7 -7
  195. package/dist/internal/dialog.js.map +1 -1
  196. package/dist/internal/scrollbox.d.ts +2 -1
  197. package/dist/internal/scrollbox.d.ts.map +1 -1
  198. package/dist/internal/scrollbox.js +13 -7
  199. package/dist/internal/scrollbox.js.map +1 -1
  200. package/dist/release.d.ts +11 -0
  201. package/dist/release.d.ts.map +1 -0
  202. package/dist/release.js +113 -0
  203. package/dist/release.js.map +1 -0
  204. package/dist/state.d.ts +1 -0
  205. package/dist/state.d.ts.map +1 -1
  206. package/dist/state.js +1 -0
  207. package/dist/state.js.map +1 -1
  208. package/dist/theme.d.ts +11 -8
  209. package/dist/theme.d.ts.map +1 -1
  210. package/dist/theme.js +31 -8
  211. package/dist/theme.js.map +1 -1
  212. package/dist/utils/run-command.d.ts +22 -0
  213. package/dist/utils/run-command.d.ts.map +1 -0
  214. package/dist/utils/run-command.js +127 -0
  215. package/dist/utils/run-command.js.map +1 -0
  216. package/dist/utils.d.ts +1 -1
  217. package/dist/utils.d.ts.map +1 -1
  218. package/dist/utils.js +5 -3
  219. package/dist/utils.js.map +1 -1
  220. package/package.json +10 -7
  221. package/src/apis/toast.tsx +38 -17
  222. package/src/build.tsx +5 -3
  223. package/src/cli.tsx +46 -0
  224. package/src/colors.tsx +22 -1
  225. package/src/compile.tsx +219 -0
  226. package/src/components/actions.tsx +7 -1
  227. package/src/components/command-arguments.tsx +81 -0
  228. package/src/components/detail.tsx +26 -58
  229. package/src/components/dropdown.tsx +108 -23
  230. package/src/components/extension-preferences.tsx +55 -35
  231. package/src/components/form/checkbox.tsx +13 -5
  232. package/src/components/form/date-picker.tsx +24 -29
  233. package/src/components/form/description.tsx +35 -7
  234. package/src/components/form/dropdown.tsx +16 -30
  235. package/src/components/form/file-autocomplete.tsx +87 -77
  236. package/src/components/form/file-picker.tsx +69 -57
  237. package/src/components/form/form-ref.tsx +68 -0
  238. package/src/components/form/index.tsx +152 -41
  239. package/src/components/form/password-field.tsx +35 -22
  240. package/src/components/form/text-area.tsx +78 -58
  241. package/src/components/form/text-field.tsx +82 -61
  242. package/src/components/form/use-form-navigation.tsx +43 -23
  243. package/src/components/form/with-left-border.tsx +2 -1
  244. package/src/components/icon.tsx +497 -469
  245. package/src/components/list.tsx +279 -112
  246. package/src/components/loading-bar.tsx +1 -1
  247. package/src/descendants.tsx +15 -5
  248. package/src/examples/action-show-in-finder.tsx +1 -1
  249. package/src/examples/environment-test.tsx +1 -1
  250. package/src/examples/error-boundary.tsx +1 -1
  251. package/src/examples/file-autocomplete.vitest.tsx +245 -0
  252. package/src/examples/form-basic.tsx +12 -12
  253. package/src/examples/form-basic.vitest.tsx +297 -671
  254. package/src/examples/form-dropdown.tsx +1 -1
  255. package/src/examples/form-dropdown.vitest.tsx +353 -221
  256. package/src/examples/form-scroll.tsx +56 -0
  257. package/src/examples/form-scroll.vitest.tsx +228 -0
  258. package/src/examples/form-tagpicker.tsx +1 -1
  259. package/src/examples/form-tagpicker.vitest.tsx +438 -193
  260. package/src/examples/internal/descendants-filtering.tsx +13 -5
  261. package/src/examples/internal/descendants.tsx +17 -5
  262. package/src/examples/internal/rhf-custom-ref.tsx +152 -0
  263. package/src/examples/internal/scrollbox-demo.tsx +15 -7
  264. package/src/examples/internal/scrollbox-with-descendants.tsx +94 -0
  265. package/src/examples/internal/simple-dialog.tsx +1 -1
  266. package/src/examples/internal/simple-scrollbox.tsx +8 -5
  267. package/src/examples/internal/simple-scrollbox.vitest.tsx +47 -37
  268. package/src/examples/internal/text-stacking.tsx +4 -2
  269. package/src/examples/list-dropdown-default.tsx +1 -1
  270. package/src/examples/list-dropdown-default.vitest.tsx +136 -71
  271. package/src/examples/list-fetch-data.tsx +1 -1
  272. package/src/examples/list-fetch-data.vitest.tsx +42 -33
  273. package/src/examples/list-scrollbox.tsx +46 -0
  274. package/src/examples/list-scrollbox.vitest.tsx +103 -0
  275. package/src/examples/list-with-detail.tsx +1 -1
  276. package/src/examples/list-with-detail.vitest.tsx +290 -294
  277. package/src/examples/list-with-dropdown.tsx +1 -1
  278. package/src/examples/list-with-dropdown.vitest.tsx +190 -150
  279. package/src/examples/list-with-sections.tsx +12 -1
  280. package/src/examples/list-with-sections.vitest.tsx +390 -218
  281. package/src/examples/miscellaneous.tsx +1 -1
  282. package/src/examples/nested-navigation.tsx +4 -2
  283. package/src/examples/preferences-test.tsx +1 -1
  284. package/src/examples/simple-dropdown.tsx +1 -1
  285. package/src/examples/simple-file-picker.tsx +1 -1
  286. package/src/examples/simple-file-picker.vitest.tsx +538 -132
  287. package/src/examples/simple-grid.tsx +1 -1
  288. package/src/examples/simple-grid.vitest.tsx +258 -234
  289. package/src/examples/simple-hud.tsx +1 -1
  290. package/src/examples/simple-list-search.tsx +1 -1
  291. package/src/examples/simple-list.tsx +1 -1
  292. package/src/examples/simple-navigation.tsx +4 -2
  293. package/src/examples/simple-navigation.vitest.tsx +434 -238
  294. package/src/examples/store.tsx +1 -1
  295. package/src/examples/store.vitest.tsx +31 -10
  296. package/src/examples/submodule-diff.tsx +153 -0
  297. package/src/examples/tanstack-demo.tsx +1 -1
  298. package/src/examples/use-promise-demo.tsx +1 -1
  299. package/src/extensions/dev.tsx +74 -36
  300. package/src/extensions/dev.vitest.tsx +220 -0
  301. package/src/extensions/home.tsx +17 -118
  302. package/src/globals.ts +1 -1
  303. package/src/index.tsx +7 -1
  304. package/src/internal/date-picker-widget.tsx +56 -46
  305. package/src/internal/dialog.tsx +6 -6
  306. package/src/internal/scrollbox.tsx +15 -5
  307. package/src/release.tsx +159 -0
  308. package/src/state.tsx +2 -0
  309. package/src/store-api/search.test.tsx +4 -13
  310. package/src/theme.tsx +33 -8
  311. package/src/utils/run-command.tsx +204 -0
  312. package/src/utils.tsx +5 -3
  313. package/dist/ai.d.ts +0 -104
  314. package/dist/ai.d.ts.map +0 -1
  315. package/dist/ai.js +0 -135
  316. package/dist/ai.js.map +0 -1
  317. package/dist/apis/cache.test.d.ts +0 -2
  318. package/dist/apis/cache.test.d.ts.map +0 -1
  319. package/dist/apis/cache.test.js +0 -246
  320. package/dist/apis/cache.test.js.map +0 -1
  321. package/dist/apis/localstorage.test.d.ts +0 -2
  322. package/dist/apis/localstorage.test.d.ts.map +0 -1
  323. package/dist/apis/localstorage.test.js +0 -131
  324. package/dist/apis/localstorage.test.js.map +0 -1
  325. package/dist/apis/toast.test.d.ts +0 -2
  326. package/dist/apis/toast.test.d.ts.map +0 -1
  327. package/dist/apis/toast.test.js +0 -67
  328. package/dist/apis/toast.test.js.map +0 -1
  329. package/dist/build.test.d.ts +0 -2
  330. package/dist/build.test.d.ts.map +0 -1
  331. package/dist/build.test.js +0 -73
  332. package/dist/build.test.js.map +0 -1
  333. package/dist/cache.d.ts +0 -32
  334. package/dist/cache.d.ts.map +0 -1
  335. package/dist/cache.js +0 -205
  336. package/dist/cache.js.map +0 -1
  337. package/dist/cache.test.d.ts +0 -2
  338. package/dist/cache.test.d.ts.map +0 -1
  339. package/dist/cache.test.js +0 -246
  340. package/dist/cache.test.js.map +0 -1
  341. package/dist/clipboard.d.ts +0 -36
  342. package/dist/clipboard.d.ts.map +0 -1
  343. package/dist/clipboard.js +0 -154
  344. package/dist/clipboard.js.map +0 -1
  345. package/dist/components/form/form-type-only.d.ts +0 -174
  346. package/dist/components/form/form-type-only.d.ts.map +0 -1
  347. package/dist/components/form/form-type-only.js +0 -2
  348. package/dist/components/form/form-type-only.js.map +0 -1
  349. package/dist/components/form/use-form-handling.d.ts +0 -4
  350. package/dist/components/form/use-form-handling.d.ts.map +0 -1
  351. package/dist/components/form/use-form-handling.js +0 -37
  352. package/dist/components/form/use-form-handling.js.map +0 -1
  353. package/dist/dev-ui.d.ts +0 -7
  354. package/dist/dev-ui.d.ts.map +0 -1
  355. package/dist/dev-ui.js +0 -118
  356. package/dist/dev-ui.js.map +0 -1
  357. package/dist/environment.d.ts +0 -63
  358. package/dist/environment.d.ts.map +0 -1
  359. package/dist/environment.js +0 -189
  360. package/dist/environment.js.map +0 -1
  361. package/dist/examples/datepicker.d.ts +0 -2
  362. package/dist/examples/datepicker.d.ts.map +0 -1
  363. package/dist/examples/datepicker.js +0 -344
  364. package/dist/examples/datepicker.js.map +0 -1
  365. package/dist/examples/form-basic-arrow-keys.vitest.d.ts +0 -2
  366. package/dist/examples/form-basic-arrow-keys.vitest.d.ts.map +0 -1
  367. package/dist/examples/form-basic-arrow-keys.vitest.js +0 -46
  368. package/dist/examples/form-basic-arrow-keys.vitest.js.map +0 -1
  369. package/dist/examples/form-basic.vitest.d.ts +0 -2
  370. package/dist/examples/form-basic.vitest.d.ts.map +0 -1
  371. package/dist/examples/form-basic.vitest.js +0 -995
  372. package/dist/examples/form-basic.vitest.js.map +0 -1
  373. package/dist/examples/form-dropdown-with-sections.d.ts +0 -2
  374. package/dist/examples/form-dropdown-with-sections.d.ts.map +0 -1
  375. package/dist/examples/form-dropdown-with-sections.js +0 -13
  376. package/dist/examples/form-dropdown-with-sections.js.map +0 -1
  377. package/dist/examples/form-dropdown-with-sections.vitest.d.ts +0 -2
  378. package/dist/examples/form-dropdown-with-sections.vitest.d.ts.map +0 -1
  379. package/dist/examples/form-dropdown-with-sections.vitest.js +0 -75
  380. package/dist/examples/form-dropdown-with-sections.vitest.js.map +0 -1
  381. package/dist/examples/form-dropdown.vitest.d.ts +0 -2
  382. package/dist/examples/form-dropdown.vitest.d.ts.map +0 -1
  383. package/dist/examples/form-dropdown.vitest.js +0 -722
  384. package/dist/examples/form-dropdown.vitest.js.map +0 -1
  385. package/dist/examples/form-multiselect-dropdown.d.ts +0 -2
  386. package/dist/examples/form-multiselect-dropdown.d.ts.map +0 -1
  387. package/dist/examples/form-multiselect-dropdown.js +0 -13
  388. package/dist/examples/form-multiselect-dropdown.js.map +0 -1
  389. package/dist/examples/form-tagpicker.vitest.d.ts +0 -2
  390. package/dist/examples/form-tagpicker.vitest.d.ts.map +0 -1
  391. package/dist/examples/form-tagpicker.vitest.js +0 -491
  392. package/dist/examples/form-tagpicker.vitest.js.map +0 -1
  393. package/dist/examples/internal/nested-boxes.d.ts +0 -2
  394. package/dist/examples/internal/nested-boxes.d.ts.map +0 -1
  395. package/dist/examples/internal/nested-boxes.js +0 -7
  396. package/dist/examples/internal/nested-boxes.js.map +0 -1
  397. package/dist/examples/internal/simple-scrollbox.vitest.d.ts +0 -2
  398. package/dist/examples/internal/simple-scrollbox.vitest.d.ts.map +0 -1
  399. package/dist/examples/internal/simple-scrollbox.vitest.js +0 -88
  400. package/dist/examples/internal/simple-scrollbox.vitest.js.map +0 -1
  401. package/dist/examples/internal/unicode-square-repro.d.ts +0 -2
  402. package/dist/examples/internal/unicode-square-repro.d.ts.map +0 -1
  403. package/dist/examples/internal/unicode-square-repro.js +0 -7
  404. package/dist/examples/internal/unicode-square-repro.js.map +0 -1
  405. package/dist/examples/list-dropdown-default.vitest.d.ts +0 -2
  406. package/dist/examples/list-dropdown-default.vitest.d.ts.map +0 -1
  407. package/dist/examples/list-dropdown-default.vitest.js +0 -164
  408. package/dist/examples/list-dropdown-default.vitest.js.map +0 -1
  409. package/dist/examples/list-fetch-data.vitest.d.ts +0 -2
  410. package/dist/examples/list-fetch-data.vitest.d.ts.map +0 -1
  411. package/dist/examples/list-fetch-data.vitest.js +0 -103
  412. package/dist/examples/list-fetch-data.vitest.js.map +0 -1
  413. package/dist/examples/list-filter-navigation.d.ts +0 -2
  414. package/dist/examples/list-filter-navigation.d.ts.map +0 -1
  415. package/dist/examples/list-filter-navigation.js +0 -8
  416. package/dist/examples/list-filter-navigation.js.map +0 -1
  417. package/dist/examples/list-with-detail.vitest.d.ts +0 -2
  418. package/dist/examples/list-with-detail.vitest.d.ts.map +0 -1
  419. package/dist/examples/list-with-detail.vitest.js +0 -438
  420. package/dist/examples/list-with-detail.vitest.js.map +0 -1
  421. package/dist/examples/list-with-dropdown.vitest.d.ts +0 -2
  422. package/dist/examples/list-with-dropdown.vitest.d.ts.map +0 -1
  423. package/dist/examples/list-with-dropdown.vitest.js +0 -297
  424. package/dist/examples/list-with-dropdown.vitest.js.map +0 -1
  425. package/dist/examples/list-with-sections.vitest.d.ts +0 -2
  426. package/dist/examples/list-with-sections.vitest.d.ts.map +0 -1
  427. package/dist/examples/list-with-sections.vitest.js +0 -441
  428. package/dist/examples/list-with-sections.vitest.js.map +0 -1
  429. package/dist/examples/simple-file-picker.vitest.d.ts +0 -2
  430. package/dist/examples/simple-file-picker.vitest.d.ts.map +0 -1
  431. package/dist/examples/simple-file-picker.vitest.js +0 -277
  432. package/dist/examples/simple-file-picker.vitest.js.map +0 -1
  433. package/dist/examples/simple-grid.vitest.d.ts +0 -2
  434. package/dist/examples/simple-grid.vitest.d.ts.map +0 -1
  435. package/dist/examples/simple-grid.vitest.js +0 -498
  436. package/dist/examples/simple-grid.vitest.js.map +0 -1
  437. package/dist/examples/simple-navigation.vitest.d.ts +0 -2
  438. package/dist/examples/simple-navigation.vitest.d.ts.map +0 -1
  439. package/dist/examples/simple-navigation.vitest.js +0 -522
  440. package/dist/examples/simple-navigation.vitest.js.map +0 -1
  441. package/dist/examples/store.vitest.d.ts +0 -2
  442. package/dist/examples/store.vitest.d.ts.map +0 -1
  443. package/dist/examples/store.vitest.js +0 -48
  444. package/dist/examples/store.vitest.js.map +0 -1
  445. package/dist/home-command.d.ts +0 -8
  446. package/dist/home-command.d.ts.map +0 -1
  447. package/dist/home-command.js +0 -181
  448. package/dist/home-command.js.map +0 -1
  449. package/dist/hooks/hooks.test.d.ts +0 -2
  450. package/dist/hooks/hooks.test.d.ts.map +0 -1
  451. package/dist/hooks/hooks.test.js +0 -37
  452. package/dist/hooks/hooks.test.js.map +0 -1
  453. package/dist/hover-repro.d.ts +0 -2
  454. package/dist/hover-repro.d.ts.map +0 -1
  455. package/dist/hover-repro.js +0 -20
  456. package/dist/hover-repro.js.map +0 -1
  457. package/dist/localstorage.d.ts +0 -13
  458. package/dist/localstorage.d.ts.map +0 -1
  459. package/dist/localstorage.js +0 -190
  460. package/dist/localstorage.js.map +0 -1
  461. package/dist/localstorage.test.d.ts +0 -2
  462. package/dist/localstorage.test.d.ts.map +0 -1
  463. package/dist/localstorage.test.js +0 -131
  464. package/dist/localstorage.test.js.map +0 -1
  465. package/dist/oauth.d.ts +0 -142
  466. package/dist/oauth.d.ts.map +0 -1
  467. package/dist/oauth.js +0 -551
  468. package/dist/oauth.js.map +0 -1
  469. package/dist/preferences.d.ts +0 -23
  470. package/dist/preferences.d.ts.map +0 -1
  471. package/dist/preferences.js +0 -105
  472. package/dist/preferences.js.map +0 -1
  473. package/dist/store-api/download.test.d.ts +0 -2
  474. package/dist/store-api/download.test.d.ts.map +0 -1
  475. package/dist/store-api/download.test.js +0 -36
  476. package/dist/store-api/download.test.js.map +0 -1
  477. package/dist/store-api/extension.test.d.ts +0 -2
  478. package/dist/store-api/extension.test.d.ts.map +0 -1
  479. package/dist/store-api/extension.test.js +0 -22
  480. package/dist/store-api/extension.test.js.map +0 -1
  481. package/dist/store-api/search.test.d.ts +0 -2
  482. package/dist/store-api/search.test.d.ts.map +0 -1
  483. package/dist/store-api/search.test.js +0 -45
  484. package/dist/store-api/search.test.js.map +0 -1
  485. package/dist/store.d.ts +0 -21
  486. package/dist/store.d.ts.map +0 -1
  487. package/dist/store.js +0 -84
  488. package/dist/store.js.map +0 -1
  489. package/dist/toast.d.ts +0 -44
  490. package/dist/toast.d.ts.map +0 -1
  491. package/dist/toast.js +0 -221
  492. package/dist/toast.js.map +0 -1
  493. package/dist/utils.test.d.ts +0 -2
  494. package/dist/utils.test.d.ts.map +0 -1
  495. package/dist/utils.test.js +0 -152
  496. package/dist/utils.test.js.map +0 -1
  497. package/dist/window.d.ts +0 -12
  498. package/dist/window.d.ts.map +0 -1
  499. package/dist/window.js +0 -48
  500. package/dist/window.js.map +0 -1
@@ -1,28 +1,30 @@
1
- // node-pty does not work in bun, so we use vitest to run this test
2
1
  import { test, expect, afterEach, beforeEach } from 'vitest'
3
- import { NodeTuiDriver } from 'termcast/src/e2e-node'
2
+ import { launchTerminal, Session } from 'tuistory/src'
4
3
 
5
- let driver: NodeTuiDriver
4
+ let session: Session
6
5
 
7
- beforeEach(() => {
8
- driver = new NodeTuiDriver('bun', ['src/examples/list-with-detail.tsx'], {
6
+ beforeEach(async () => {
7
+ session = await launchTerminal({
8
+ command: 'bun',
9
+ args: ['src/examples/list-with-detail.tsx'],
9
10
  cols: 80,
10
11
  rows: 30,
11
12
  })
12
13
  })
13
14
 
14
15
  afterEach(() => {
15
- driver?.dispose()
16
+ session?.close()
16
17
  })
17
18
 
18
19
  test('list with detail view display and navigation', async () => {
19
- const initialSnapshot = await driver.text({
20
+ const initialSnapshot = await session.text({
20
21
  waitFor: (text) => {
21
- // wait for list to show up with detail view
22
22
  return (
23
23
  /Pokemon List/i.test(text) &&
24
- text.includes('bulbasaur') &&
25
- text.includes('#001')
24
+ text.includes('bulbasaur') &&
25
+ text.includes('Grass / Poison') &&
26
+ text.includes('Height: 0.7m') &&
27
+ text.includes('↵ select')
26
28
  )
27
29
  },
28
30
  })
@@ -30,230 +32,232 @@ test('list with detail view display and navigation', async () => {
30
32
  expect(initialSnapshot).toMatchInlineSnapshot(`
31
33
  "
32
34
 
35
+
33
36
  Pokemon List ─────────────────────────────────────────────────────────────
34
37
 
35
38
  Search Pokemon...
36
39
 
37
- ›bulbasaur #001 │ # bulbasaur
38
- ivysaur #002
39
- charmander #004 ![Illustration](https://assets.pokemon.
40
- charmeleon #005
41
- squirtle #007 ## Types
42
- wartortle #008 Grass / Poison
43
-
44
- ## Characteristics
45
- ↵ select ↑↓ navigate ^k actions - Height: 0.7m
46
- │ - Weight: 6.9kg
47
-
48
- ## Abilities
49
- - Chlorophyll
50
- │ - Overgrow
51
- ───────────────────────────────────────
52
-
53
- Types:
54
-
55
- Grass:
56
- ─────────────────
57
-
58
- Poison:
59
- │ ─────────────────
60
- │"
40
+ ›bulbasaur #001
41
+ ivysaur #002 bulbasaur ▲
42
+ charmander #004
43
+ charmeleon #005 Illustration
44
+ squirtle #007
45
+ wartortle #008 Types
46
+ Grass / Poison
47
+
48
+ Characteristics
49
+ │ - Height: 0.7m
50
+ - Weight: 6.9kg
51
+
52
+ Abilities
53
+ │ - Chlorophyll
54
+ - Overgrow
55
+ ─────────────────────────────────
56
+
57
+ Types:
58
+
59
+ Grass:
60
+ ─────────────────
61
+ ↵ select ↑↓ navigate ^k actions ▼"
61
62
  `)
62
63
 
63
- // Navigate down to next pokemon
64
- await driver.keys.down()
64
+ await session.press('down')
65
65
 
66
- const afterDownSnapshot = await driver.text()
66
+ const afterDownSnapshot = await session.text({
67
+ waitFor: (text) => text.includes('ivysaur') && text.includes('Height: 1m'),
68
+ })
67
69
  expect(afterDownSnapshot).toMatchInlineSnapshot(`
68
70
  "
69
71
 
72
+
70
73
  Pokemon List ─────────────────────────────────────────────────────────────
71
74
 
72
75
  Search Pokemon...
73
76
 
74
- bulbasaur #001 │ # ivysaur
75
- ›ivysaur #002
76
- charmander #004 ![Illustration](https://assets.pokemon.
77
- charmeleon #005
78
- squirtle #007 ## Types
79
- wartortle #008 Grass / Poison
80
-
81
- ## Characteristics
82
- ↵ select ↑↓ navigate ^k actions - Height: 1m
83
- │ - Weight: 13kg
84
-
85
- ## Abilities
86
- - Chlorophyll
87
- │ - Overgrow
88
- ───────────────────────────────────────
89
-
90
- Types:
91
-
92
- Grass:
93
- ─────────────────
94
-
95
- Poison:
96
- │ ─────────────────
97
- │"
77
+ bulbasaur #001
78
+ ›ivysaur #002 ivysaur ▲
79
+ charmander #004
80
+ charmeleon #005 Illustration
81
+ squirtle #007
82
+ wartortle #008 Types
83
+ Grass / Poison
84
+
85
+ Characteristics
86
+ │ - Height: 1m
87
+ - Weight: 13kg
88
+
89
+ Abilities
90
+ │ - Chlorophyll
91
+ - Overgrow
92
+ ─────────────────────────────────
93
+
94
+ Types:
95
+
96
+ Grass:
97
+ ─────────────────
98
+ ↵ select ↑↓ navigate ^k actions ▼"
98
99
  `)
99
100
 
100
- // Navigate down to charmander
101
- await driver.keys.down()
101
+ await session.press('down')
102
102
 
103
- const charmanderSnapshot = await driver.text()
103
+ const charmanderSnapshot = await session.text()
104
104
  expect(charmanderSnapshot).toMatchInlineSnapshot(`
105
105
  "
106
106
 
107
+
107
108
  Pokemon List ─────────────────────────────────────────────────────────────
108
109
 
109
110
  Search Pokemon...
110
111
 
111
- bulbasaur #001 │ # charmander
112
- ivysaur #002
113
- ›charmander #004 ![Illustration](https://assets.pokemon.
114
- charmeleon #005
115
- squirtle #007 ## Types
116
- wartortle #008 Fire
117
-
118
- ## Characteristics
119
- ↵ select ↑↓ navigate ^k actions - Height: 0.6m
120
- │ - Weight: 8.5kg
121
-
122
- ## Abilities
123
- - Blaze
124
- │ - Solar Power
125
- ───────────────────────────────────────
126
-
127
- Types:
128
-
129
- Fire:
130
- ─────────────────
131
-
132
- Characteristics:
133
- │ Height: 0.6m
134
- │"
112
+ bulbasaur #001
113
+ ivysaur #002 │ charmander
114
+ ›charmander #004
115
+ charmeleon #005 Illustration
116
+ squirtle #007
117
+ wartortle #008 Types
118
+ Fire
119
+
120
+ Characteristics
121
+ │ - Height: 0.6m
122
+ - Weight: 8.5kg
123
+
124
+ Abilities
125
+ │ - Blaze
126
+ - Solar Power
127
+ ─────────────────────────────────
128
+
129
+ Types:
130
+
131
+ Fire:
132
+ ─────────────────
133
+ ↵ select ↑↓ navigate ^k actions ▼"
135
134
  `)
136
135
 
137
- // Open actions
138
- await driver.keys.ctrlK()
136
+ await session.press(['ctrl', 'k'])
139
137
 
140
- const actionsSnapshot = await driver.text()
138
+ const actionsSnapshot = await session.text()
141
139
  expect(actionsSnapshot).toMatchInlineSnapshot(`
142
140
  "
143
141
 
144
- Pokemon List ─────────────────────────────────────────────────────────────
145
-
146
- Search Pokemon...
147
-
148
- bulbasaur #001 │ # charmander
149
-
150
- esc n.
151
-
152
- Search actions...
153
- ›Toggle Detail
154
- View on Pokemon.com
155
142
 
143
+ Pokemon List ─────────────────────────────────────────────────────────────
156
144
 
157
- select ↑↓ navigate
145
+ Search Pokemon...
158
146
 
159
- ## Abilities
160
- - Blaze
161
- │ - Solar Power
162
- │ ───────────────────────────────────────
163
-
164
- Types:
165
-
166
- Fire:
167
- ─────────────────
168
-
169
- │ Characteristics:
170
- │ Height: 0.6m
171
- │"
147
+ bulbasaur #001
148
+ ivysaur #002 charmander ▲
149
+ ┃ ┃
150
+ ┃ esc ┃
151
+ ┃ ┃
152
+ ┃ Search actions... ┃
153
+ ┃ ┃
154
+ ┃ ›Toggle Detail ┃
155
+ ┃ View on Pokemon.com ┃
156
+ ┃ ┃
157
+ ┃ ┃
158
+ ┃ ┃
159
+ ┃ ┃
160
+ ┃ ┃
161
+ ┃ ┃
162
+ ┃ ┃
163
+ ┃ ┃
164
+ ┃ ┃
165
+ ┃ ↵ select ↑↓ navigate ┃
166
+ ┃ ┃
167
+ │ ─────────────────
168
+ ↵ select ↑↓ navigate ^k actions │ ▼"
172
169
  `)
173
170
 
174
- // Select "Toggle Detail" action
175
- await driver.keys.enter()
171
+ await session.press('enter')
176
172
 
177
- const afterToggleSnapshot = await driver.text({
173
+ const afterToggleSnapshot = await session.text({
178
174
  waitFor: (text) => {
179
- // Wait for accessories to appear (detail view is hidden)
180
- return text.includes('Grass / Poison') || text.includes('Fire')
175
+ return text.includes('Grass / Poison') && !text.includes('## Types')
181
176
  },
182
177
  })
183
178
  expect(afterToggleSnapshot).toMatchInlineSnapshot(`
184
179
  "
185
180
 
181
+
186
182
  Pokemon List ─────────────────────────────────────────────────────────────
187
183
 
188
184
  Search Pokemon...
189
185
 
190
- bulbasaur #001 Grass / Poison
191
- ivysaur #002 Grass / Poison
192
- ›charmander #004 Fire
193
- charmeleon #005 Fire
194
- squirtle #007 Water
195
- wartortle #008 Water
186
+ bulbasaur #001 Grass / Poison
187
+ ivysaur #002 Grass / Poison
188
+ ›charmander #004 Fire
189
+ charmeleon #005 Fire
190
+ squirtle #007 Water
191
+ wartortle #008 Water
192
+
193
+
194
+
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+
196
204
 
197
205
 
198
- ↵ select ↑↓ navigate ^k actions"
206
+
207
+ ↵ select ↑↓ navigate ^k actions"
199
208
  `)
200
209
 
201
- // Open actions again and toggle detail back on
202
- await driver.keys.ctrlK()
203
- await driver.keys.enter()
210
+ await session.press(['ctrl', 'k'])
211
+ await session.press('enter')
204
212
 
205
- const detailOnAgainSnapshot = await driver.text({
213
+ const detailOnAgainSnapshot = await session.text({
206
214
  waitFor: (text) => {
207
- // Wait for detail view to reappear
208
- return !text.includes('Grass / Poison') && !text.includes('Fire')
215
+ return text.includes('charmander') && text.includes('Fire')
209
216
  },
210
217
  })
211
218
  expect(detailOnAgainSnapshot).toMatchInlineSnapshot(`
212
219
  "
213
220
 
221
+
214
222
  Pokemon List ─────────────────────────────────────────────────────────────
215
223
 
216
224
  Search Pokemon...
217
225
 
218
- bulbasaur #001 │ # charmander
219
- ivysaur #002 │
220
- ›charmander #004 │ ![Illustration](https://assets.poke
221
- charmeleon #005 │
222
- squirtle #007 │ ## Types
223
- wartortle #008 │ Fire
226
+ bulbasaur #001
227
+ ivysaur #002 │ charmander ▲
228
+ ›charmander #004 │
229
+ charmeleon #005 │ Illustration
230
+ squirtle #007 │
231
+ wartortle #008 │ Types
232
+ │ Fire
224
233
 
225
- ## Characteristics
226
- ↵ select ↑↓ navigate ^k actions │ - Height: 0.6m
234
+ │ Characteristics
235
+ │ - Height: 0.6m
227
236
  │ - Weight: 8.5kg
228
237
 
229
- ## Abilities
238
+ │ Abilities
230
239
  │ - Blaze
231
240
  │ - Solar Power
232
- ───────────────────────────────────
241
+ ─────────────────────────────────
233
242
 
234
243
  │ Types:
235
244
 
236
245
  │ Fire:
237
246
  │ ─────────────────
238
-
239
- │ Characteristics:
240
- │ Height: 0.6m
241
- │"
247
+ ↵ select ↑↓ navigate ^k actions ▼"
242
248
  `)
243
249
  }, 15000)
244
250
 
245
251
  test('list detail view search functionality', async () => {
246
- await driver.text({
252
+ await session.text({
247
253
  waitFor: (text) => {
248
- // wait for list to show up
249
254
  return /Pokemon List/i.test(text)
250
255
  },
251
256
  })
252
257
 
253
- // Search for "char"
254
- await driver.keys.type('char')
258
+ await session.type('char')
255
259
 
256
- const searchCharSnapshot = await driver.text({
260
+ const searchCharSnapshot = await session.text({
257
261
  waitFor: (text) => {
258
262
  return /char/i.test(text) && text.includes('charmander')
259
263
  },
@@ -261,130 +265,125 @@ test('list detail view search functionality', async () => {
261
265
  expect(searchCharSnapshot).toMatchInlineSnapshot(`
262
266
  "
263
267
 
268
+
264
269
  Pokemon List ─────────────────────────────────────────────────────────────
265
270
 
266
271
  char
267
272
 
268
- charmander #004 │ # bulbasaur
269
- charmeleon #005
270
- ![Illustration](https://assets.pokemon.
271
-
272
- ↵ select ↑↓ navigate ^k actions ## Types
273
- Grass / Poison
274
-
275
- ## Characteristics
276
- - Height: 0.7m
277
- - Weight: 6.9kg
278
-
279
- ## Abilities
280
- - Chlorophyll
281
- - Overgrow
282
- ───────────────────────────────────────
283
-
284
- Types:
285
-
286
- Grass:
287
- ─────────────────
288
-
289
- Poison:
290
- │ ─────────────────
291
- │"
273
+ charmander #004
274
+ charmeleon #005
275
+ ───────────────────────────────── █
276
+
277
+ │ Types: █
278
+
279
+ Grass: ▀
280
+ ─────────────────
281
+
282
+ Poison:
283
+ ─────────────────
284
+
285
+ Characteristics:
286
+ Height: 0.7m
287
+
288
+ ─────────────────
289
+ Weight: 6.9kg
290
+
291
+ ─────────────────
292
+ Abilities:
293
+
294
+ ↵ select ↑↓ navigate ^k actions Chlorophyll: Main Series ▼"
292
295
  `)
293
296
 
294
- // Clear search
295
- await driver.keys.backspace()
296
- await driver.keys.backspace()
297
- await driver.keys.backspace()
298
- await driver.keys.backspace()
297
+ await session.press('backspace')
298
+ await session.press('backspace')
299
+ await session.press('backspace')
300
+ await session.press('backspace')
299
301
 
300
- // Search for "water"
301
- await driver.keys.type('water')
302
+ await session.type('water')
302
303
 
303
- const searchWaterSnapshot = await driver.text({
304
+ const searchWaterSnapshot = await session.text({
304
305
  waitFor: (text) => {
305
- return /water/i.test(text) && text.includes('squirtle')
306
+ return /water/i.test(text)
306
307
  },
307
308
  })
308
309
  expect(searchWaterSnapshot).toMatchInlineSnapshot(`
309
310
  "
310
311
 
312
+
311
313
  Pokemon List ─────────────────────────────────────────────────────────────
312
314
 
313
315
  water
314
316
 
315
- │ # bulbasaur
316
-
317
- ↵ select ↑↓ navigate ^k actions ![Illustration](https://assets.pokemon.
318
-
319
- ## Types
320
- Grass / Poison
321
-
322
- ## Characteristics
323
- - Height: 0.7m
324
- │ - Weight: 6.9kg
325
-
326
- ## Abilities
327
- - Chlorophyll
328
- │ - Overgrow
329
- ───────────────────────────────────────
330
-
331
- Types:
332
-
333
- Grass:
334
- ─────────────────
335
-
336
- Poison:
337
- │ ─────────────────
338
- │"
317
+
318
+ bulbasaur ▲
319
+
320
+ Illustration
321
+
322
+ Types
323
+ Grass / Poison
324
+
325
+ Characteristics
326
+ │ - Height: 0.7m
327
+ - Weight: 6.9kg
328
+
329
+ Abilities
330
+ │ - Chlorophyll
331
+ - Overgrow
332
+ ─────────────────────────────────
333
+
334
+ Types:
335
+
336
+ Grass:
337
+ ─────────────────
338
+ ↵ select ↑↓ navigate ^k actions ▼"
339
339
  `)
340
340
 
341
- // Navigate down to wartortle
342
- await driver.keys.down()
341
+ await session.press('down')
343
342
 
344
- const wartortleSnapshot = await driver.text()
343
+ const wartortleSnapshot = await session.text()
345
344
  expect(wartortleSnapshot).toMatchInlineSnapshot(`
346
345
  "
347
346
 
347
+
348
348
  Pokemon List ─────────────────────────────────────────────────────────────
349
349
 
350
350
  water
351
351
 
352
- │ # bulbasaur
353
-
354
- ↵ select ↑↓ navigate ^k actions ![Illustration](https://assets.pokemon.
355
-
356
- ## Types
357
- Grass / Poison
358
-
359
- ## Characteristics
360
- - Height: 0.7m
361
- │ - Weight: 6.9kg
362
-
363
- ## Abilities
364
- - Chlorophyll
365
- │ - Overgrow
366
- ───────────────────────────────────────
367
-
368
- Types:
369
-
370
- Grass:
371
- ─────────────────
372
-
373
- Poison:
374
- │ ─────────────────
375
- │"
352
+
353
+ bulbasaur ▲
354
+
355
+ Illustration
356
+
357
+ Types
358
+ Grass / Poison
359
+
360
+ Characteristics
361
+ │ - Height: 0.7m
362
+ - Weight: 6.9kg
363
+
364
+ Abilities
365
+ │ - Chlorophyll
366
+ - Overgrow
367
+ ─────────────────────────────────
368
+
369
+ Types:
370
+
371
+ Grass:
372
+ ─────────────────
373
+ ↵ select ↑↓ navigate ^k actions ▼"
376
374
  `)
377
375
  }, 10000)
378
376
 
379
377
  test('list detail metadata rendering', async () => {
380
- const initialSnapshot = await driver.text({
378
+ const initialSnapshot = await session.text({
381
379
  waitFor: (text) => {
382
- // wait for list with metadata to show up
383
380
  return (
384
381
  /Pokemon List/i.test(text) &&
385
382
  text.includes('bulbasaur') &&
386
383
  text.includes('Types') &&
387
- text.includes('Height')
384
+ text.includes('Height') &&
385
+ text.includes('Abilities') &&
386
+ text.includes('Chlorophyll')
388
387
  )
389
388
  },
390
389
  })
@@ -392,43 +391,41 @@ test('list detail metadata rendering', async () => {
392
391
  expect(initialSnapshot).toMatchInlineSnapshot(`
393
392
  "
394
393
 
394
+
395
395
  Pokemon List ─────────────────────────────────────────────────────────────
396
396
 
397
397
  Search Pokemon...
398
398
 
399
- ›bulbasaur #001 │ # bulbasaur
400
- ivysaur #002
401
- charmander #004 ![Illustration](https://assets.pokemon.
402
- charmeleon #005
403
- squirtle #007 ## Types
404
- wartortle #008 Grass / Poison
405
-
406
- ## Characteristics
407
- ↵ select ↑↓ navigate ^k actions - Height: 0.7m
408
- - Weight: 6.9kg
409
-
410
- ## Abilities
411
- - Chlorophyll
412
- - Overgrow
413
- ───────────────────────────────────────
414
-
415
- Types:
416
-
417
- Grass:
418
- ─────────────────
419
-
420
- Poison:
421
- │ ─────────────────
422
- │"
399
+ ›bulbasaur #001
400
+ ivysaur #002
401
+ charmander #004 ───────────────────────────────── █
402
+ charmeleon #005
403
+ squirtle #007 │ Types: █
404
+ wartortle #008
405
+ Grass: ▀
406
+ ─────────────────
407
+
408
+ Poison:
409
+ ─────────────────
410
+
411
+ Characteristics:
412
+ Height: 0.7m
413
+
414
+ ─────────────────
415
+ Weight: 6.9kg
416
+
417
+ ─────────────────
418
+ Abilities:
419
+
420
+ ↵ select ↑↓ navigate ^k actions Chlorophyll: Main Series ▼"
423
421
  `)
424
422
 
425
- // Navigate to a different pokemon
426
- await driver.keys.down()
427
- await driver.keys.down()
428
- await driver.keys.down()
429
- await driver.keys.down()
423
+ await session.press('down')
424
+ await session.press('down')
425
+ await session.press('down')
426
+ await session.press('down')
430
427
 
431
- const squirtleSnapshot = await driver.text({
428
+ const squirtleSnapshot = await session.text({
432
429
  waitFor: (text) => {
433
430
  return text.includes('squirtle') && text.includes('Water')
434
431
  },
@@ -436,33 +433,32 @@ test('list detail metadata rendering', async () => {
436
433
  expect(squirtleSnapshot).toMatchInlineSnapshot(`
437
434
  "
438
435
 
436
+
439
437
  Pokemon List ─────────────────────────────────────────────────────────────
440
438
 
441
439
  Search Pokemon...
442
440
 
443
- bulbasaur #001 │ # squirtle
444
- ivysaur #002
445
- charmander #004 ![Illustration](https://assets.pokemon.
446
- charmeleon #005
447
- ›squirtle #007 ## Types
448
- wartortle #008 Water
449
-
450
- ## Characteristics
451
- ↵ select ↑↓ navigate ^k actions - Height: 0.5m
452
- │ - Weight: 9kg
453
-
454
- ## Abilities
455
- - Torrent
456
- │ - Rain Dish
457
- ───────────────────────────────────────
458
-
459
- Types:
460
-
461
- Water:
462
- ─────────────────
463
-
464
- Characteristics:
465
- │ Height: 0.5m
466
- │"
441
+ bulbasaur #001
442
+ ivysaur #002 squirtle ▲
443
+ charmander #004
444
+ charmeleon #005 Illustration
445
+ ›squirtle #007
446
+ wartortle #008 Types
447
+ Water
448
+
449
+ Characteristics
450
+ │ - Height: 0.5m
451
+ - Weight: 9kg
452
+
453
+ Abilities
454
+ │ - Torrent
455
+ - Rain Dish
456
+ ─────────────────────────────────
457
+
458
+ Types:
459
+
460
+ Water:
461
+ ─────────────────
462
+ ↵ select ↑↓ navigate ^k actions ▼"
467
463
  `)
468
464
  }, 10000)