termcast 1.3.19 → 1.3.24

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 (412) 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/build.d.ts.map +1 -1
  19. package/dist/build.js +2 -1
  20. package/dist/build.js.map +1 -1
  21. package/dist/cache.d.ts +32 -0
  22. package/dist/cache.d.ts.map +1 -0
  23. package/dist/cache.js +205 -0
  24. package/dist/cache.js.map +1 -0
  25. package/dist/cli.d.ts.map +1 -1
  26. package/dist/cli.js +69 -33
  27. package/dist/cli.js.map +1 -1
  28. package/dist/clipboard.d.ts +36 -0
  29. package/dist/clipboard.d.ts.map +1 -0
  30. package/dist/clipboard.js +154 -0
  31. package/dist/clipboard.js.map +1 -0
  32. package/dist/compile.d.ts.map +1 -1
  33. package/dist/compile.js +24 -6
  34. package/dist/compile.js.map +1 -1
  35. package/dist/components/actions.d.ts.map +1 -1
  36. package/dist/components/actions.js +56 -30
  37. package/dist/components/actions.js.map +1 -1
  38. package/dist/components/detail.d.ts.map +1 -1
  39. package/dist/components/detail.js +4 -0
  40. package/dist/components/detail.js.map +1 -1
  41. package/dist/components/dropdown.d.ts.map +1 -1
  42. package/dist/components/dropdown.js +38 -15
  43. package/dist/components/dropdown.js.map +1 -1
  44. package/dist/components/extension-preferences.d.ts.map +1 -1
  45. package/dist/components/extension-preferences.js +40 -13
  46. package/dist/components/extension-preferences.js.map +1 -1
  47. package/dist/components/form/checkbox.d.ts.map +1 -1
  48. package/dist/components/form/checkbox.js +5 -3
  49. package/dist/components/form/checkbox.js.map +1 -1
  50. package/dist/components/form/date-picker.d.ts.map +1 -1
  51. package/dist/components/form/date-picker.js +5 -3
  52. package/dist/components/form/date-picker.js.map +1 -1
  53. package/dist/components/form/description.d.ts.map +1 -1
  54. package/dist/components/form/description.js +2 -2
  55. package/dist/components/form/description.js.map +1 -1
  56. package/dist/components/form/dropdown.d.ts.map +1 -1
  57. package/dist/components/form/dropdown.js +84 -80
  58. package/dist/components/form/dropdown.js.map +1 -1
  59. package/dist/components/form/file-autocomplete.d.ts +3 -6
  60. package/dist/components/form/file-autocomplete.d.ts.map +1 -1
  61. package/dist/components/form/file-autocomplete.js +61 -66
  62. package/dist/components/form/file-autocomplete.js.map +1 -1
  63. package/dist/components/form/file-picker.d.ts.map +1 -1
  64. package/dist/components/form/file-picker.js +33 -30
  65. package/dist/components/form/file-picker.js.map +1 -1
  66. package/dist/components/form/form-end.d.ts.map +1 -1
  67. package/dist/components/form/form-end.js +21 -1
  68. package/dist/components/form/form-end.js.map +1 -1
  69. package/dist/components/form/form-type-only.d.ts +174 -0
  70. package/dist/components/form/form-type-only.d.ts.map +1 -0
  71. package/dist/components/form/form-type-only.js +2 -0
  72. package/dist/components/form/form-type-only.js.map +1 -0
  73. package/dist/components/form/index.d.ts +3 -1
  74. package/dist/components/form/index.d.ts.map +1 -1
  75. package/dist/components/form/index.js +100 -28
  76. package/dist/components/form/index.js.map +1 -1
  77. package/dist/components/form/password-field.d.ts.map +1 -1
  78. package/dist/components/form/password-field.js +5 -3
  79. package/dist/components/form/password-field.js.map +1 -1
  80. package/dist/components/form/text-area.d.ts.map +1 -1
  81. package/dist/components/form/text-area.js +5 -3
  82. package/dist/components/form/text-area.js.map +1 -1
  83. package/dist/components/form/text-field.d.ts.map +1 -1
  84. package/dist/components/form/text-field.js +6 -4
  85. package/dist/components/form/text-field.js.map +1 -1
  86. package/dist/components/form/types.d.ts +5 -0
  87. package/dist/components/form/types.d.ts.map +1 -1
  88. package/dist/components/form/use-form-handling.d.ts +4 -0
  89. package/dist/components/form/use-form-handling.d.ts.map +1 -0
  90. package/dist/components/form/use-form-handling.js +37 -0
  91. package/dist/components/form/use-form-handling.js.map +1 -0
  92. package/dist/components/form/with-left-border.d.ts +2 -1
  93. package/dist/components/form/with-left-border.d.ts.map +1 -1
  94. package/dist/components/form/with-left-border.js +27 -3
  95. package/dist/components/form/with-left-border.js.map +1 -1
  96. package/dist/components/icon.d.ts +1 -0
  97. package/dist/components/icon.d.ts.map +1 -1
  98. package/dist/components/icon.js +24 -8
  99. package/dist/components/icon.js.map +1 -1
  100. package/dist/components/list.d.ts +2 -2
  101. package/dist/components/list.d.ts.map +1 -1
  102. package/dist/components/list.js +140 -62
  103. package/dist/components/list.js.map +1 -1
  104. package/dist/components/loading-bar.d.ts.map +1 -1
  105. package/dist/components/loading-bar.js +2 -2
  106. package/dist/components/loading-bar.js.map +1 -1
  107. package/dist/components/loading-text.d.ts +8 -0
  108. package/dist/components/loading-text.d.ts.map +1 -0
  109. package/dist/components/loading-text.js +58 -0
  110. package/dist/components/loading-text.js.map +1 -0
  111. package/dist/descendants.js +1 -1
  112. package/dist/descendants.js.map +1 -1
  113. package/dist/dev-ui.d.ts +7 -0
  114. package/dist/dev-ui.d.ts.map +1 -0
  115. package/dist/dev-ui.js +118 -0
  116. package/dist/dev-ui.js.map +1 -0
  117. package/dist/environment.d.ts +63 -0
  118. package/dist/environment.d.ts.map +1 -0
  119. package/dist/environment.js +189 -0
  120. package/dist/environment.js.map +1 -0
  121. package/dist/examples/datepicker.d.ts +2 -0
  122. package/dist/examples/datepicker.d.ts.map +1 -0
  123. package/dist/examples/datepicker.js +344 -0
  124. package/dist/examples/datepicker.js.map +1 -0
  125. package/dist/examples/file-autocomplete.vitest.d.ts +2 -0
  126. package/dist/examples/file-autocomplete.vitest.d.ts.map +1 -0
  127. package/dist/examples/file-autocomplete.vitest.js +223 -0
  128. package/dist/examples/file-autocomplete.vitest.js.map +1 -0
  129. package/dist/examples/form-basic-arrow-keys.vitest.d.ts +2 -0
  130. package/dist/examples/form-basic-arrow-keys.vitest.d.ts.map +1 -0
  131. package/dist/examples/form-basic-arrow-keys.vitest.js +46 -0
  132. package/dist/examples/form-basic-arrow-keys.vitest.js.map +1 -0
  133. package/dist/examples/form-basic.vitest.d.ts +2 -0
  134. package/dist/examples/form-basic.vitest.d.ts.map +1 -0
  135. package/dist/examples/form-basic.vitest.js +630 -0
  136. package/dist/examples/form-basic.vitest.js.map +1 -0
  137. package/dist/examples/form-dropdown-with-sections.d.ts +2 -0
  138. package/dist/examples/form-dropdown-with-sections.d.ts.map +1 -0
  139. package/dist/examples/form-dropdown-with-sections.js +13 -0
  140. package/dist/examples/form-dropdown-with-sections.js.map +1 -0
  141. package/dist/examples/form-dropdown-with-sections.vitest.d.ts +2 -0
  142. package/dist/examples/form-dropdown-with-sections.vitest.d.ts.map +1 -0
  143. package/dist/examples/form-dropdown-with-sections.vitest.js +75 -0
  144. package/dist/examples/form-dropdown-with-sections.vitest.js.map +1 -0
  145. package/dist/examples/form-dropdown.vitest.d.ts +2 -0
  146. package/dist/examples/form-dropdown.vitest.d.ts.map +1 -0
  147. package/dist/examples/form-dropdown.vitest.js +854 -0
  148. package/dist/examples/form-dropdown.vitest.js.map +1 -0
  149. package/dist/examples/form-multiselect-dropdown.d.ts +2 -0
  150. package/dist/examples/form-multiselect-dropdown.d.ts.map +1 -0
  151. package/dist/examples/form-multiselect-dropdown.js +13 -0
  152. package/dist/examples/form-multiselect-dropdown.js.map +1 -0
  153. package/dist/examples/form-scroll.d.ts.map +1 -1
  154. package/dist/examples/form-scroll.js +7 -1
  155. package/dist/examples/form-scroll.js.map +1 -1
  156. package/dist/examples/form-scroll.vitest.d.ts +2 -0
  157. package/dist/examples/form-scroll.vitest.d.ts.map +1 -0
  158. package/dist/examples/form-scroll.vitest.js +211 -0
  159. package/dist/examples/form-scroll.vitest.js.map +1 -0
  160. package/dist/examples/form-tagpicker.vitest.d.ts +2 -0
  161. package/dist/examples/form-tagpicker.vitest.d.ts.map +1 -0
  162. package/dist/examples/form-tagpicker.vitest.js +736 -0
  163. package/dist/examples/form-tagpicker.vitest.js.map +1 -0
  164. package/dist/examples/internal/descendants-filtering.js +1 -1
  165. package/dist/examples/internal/descendants-filtering.js.map +1 -1
  166. package/dist/examples/internal/descendants.js +1 -1
  167. package/dist/examples/internal/descendants.js.map +1 -1
  168. package/dist/examples/internal/nested-boxes.d.ts +2 -0
  169. package/dist/examples/internal/nested-boxes.d.ts.map +1 -0
  170. package/dist/examples/internal/nested-boxes.js +7 -0
  171. package/dist/examples/internal/nested-boxes.js.map +1 -0
  172. package/dist/examples/internal/rhf-custom-ref.js +2 -2
  173. package/dist/examples/internal/rhf-custom-ref.js.map +1 -1
  174. package/dist/examples/internal/scrollbox-demo.js +3 -22
  175. package/dist/examples/internal/scrollbox-demo.js.map +1 -1
  176. package/dist/examples/internal/scrollbox-descendants.d.ts +2 -0
  177. package/dist/examples/internal/scrollbox-descendants.d.ts.map +1 -0
  178. package/dist/examples/internal/scrollbox-descendants.js +83 -0
  179. package/dist/examples/internal/scrollbox-descendants.js.map +1 -0
  180. package/dist/examples/internal/scrollbox-with-descendants.js +4 -8
  181. package/dist/examples/internal/scrollbox-with-descendants.js.map +1 -1
  182. package/dist/examples/internal/simple-scrollbox.vitest.d.ts +2 -0
  183. package/dist/examples/internal/simple-scrollbox.vitest.d.ts.map +1 -0
  184. package/dist/examples/internal/simple-scrollbox.vitest.js +96 -0
  185. package/dist/examples/internal/simple-scrollbox.vitest.js.map +1 -0
  186. package/dist/examples/internal/unicode-square-repro.d.ts +2 -0
  187. package/dist/examples/internal/unicode-square-repro.d.ts.map +1 -0
  188. package/dist/examples/internal/unicode-square-repro.js +7 -0
  189. package/dist/examples/internal/unicode-square-repro.js.map +1 -0
  190. package/dist/examples/list-detail-metadata.d.ts +2 -0
  191. package/dist/examples/list-detail-metadata.d.ts.map +1 -0
  192. package/dist/examples/list-detail-metadata.js +8 -0
  193. package/dist/examples/list-detail-metadata.js.map +1 -0
  194. package/dist/examples/list-dropdown-default.vitest.d.ts +2 -0
  195. package/dist/examples/list-dropdown-default.vitest.d.ts.map +1 -0
  196. package/dist/examples/list-dropdown-default.vitest.js +234 -0
  197. package/dist/examples/list-dropdown-default.vitest.js.map +1 -0
  198. package/dist/examples/list-fetch-data.vitest.d.ts +2 -0
  199. package/dist/examples/list-fetch-data.vitest.d.ts.map +1 -0
  200. package/dist/examples/list-fetch-data.vitest.js +111 -0
  201. package/dist/examples/list-fetch-data.vitest.js.map +1 -0
  202. package/dist/examples/list-filter-navigation.d.ts +2 -0
  203. package/dist/examples/list-filter-navigation.d.ts.map +1 -0
  204. package/dist/examples/list-filter-navigation.js +8 -0
  205. package/dist/examples/list-filter-navigation.js.map +1 -0
  206. package/dist/examples/list-scrollbox.vitest.d.ts +2 -0
  207. package/dist/examples/list-scrollbox.vitest.d.ts.map +1 -0
  208. package/dist/examples/list-scrollbox.vitest.js +93 -0
  209. package/dist/examples/list-scrollbox.vitest.js.map +1 -0
  210. package/dist/examples/list-with-detail-long.d.ts +2 -0
  211. package/dist/examples/list-with-detail-long.d.ts.map +1 -0
  212. package/dist/examples/list-with-detail-long.js +53 -0
  213. package/dist/examples/list-with-detail-long.js.map +1 -0
  214. package/dist/examples/list-with-detail.vitest.d.ts +2 -0
  215. package/dist/examples/list-with-detail.vitest.d.ts.map +1 -0
  216. package/dist/examples/list-with-detail.vitest.js +434 -0
  217. package/dist/examples/list-with-detail.vitest.js.map +1 -0
  218. package/dist/examples/list-with-dropdown.vitest.d.ts +2 -0
  219. package/dist/examples/list-with-dropdown.vitest.d.ts.map +1 -0
  220. package/dist/examples/list-with-dropdown.vitest.js +337 -0
  221. package/dist/examples/list-with-dropdown.vitest.js.map +1 -0
  222. package/dist/examples/list-with-sections.js +5 -1
  223. package/dist/examples/list-with-sections.js.map +1 -1
  224. package/dist/examples/list-with-sections.vitest.d.ts +2 -0
  225. package/dist/examples/list-with-sections.vitest.d.ts.map +1 -0
  226. package/dist/examples/list-with-sections.vitest.js +601 -0
  227. package/dist/examples/list-with-sections.vitest.js.map +1 -0
  228. package/dist/examples/scrollbox-vertical-centering.d.ts +6 -0
  229. package/dist/examples/scrollbox-vertical-centering.d.ts.map +1 -0
  230. package/dist/examples/scrollbox-vertical-centering.js +17 -0
  231. package/dist/examples/scrollbox-vertical-centering.js.map +1 -0
  232. package/dist/examples/simple-file-picker.vitest.d.ts +2 -0
  233. package/dist/examples/simple-file-picker.vitest.d.ts.map +1 -0
  234. package/dist/examples/simple-file-picker.vitest.js +678 -0
  235. package/dist/examples/simple-file-picker.vitest.js.map +1 -0
  236. package/dist/examples/simple-grid.vitest.d.ts +2 -0
  237. package/dist/examples/simple-grid.vitest.d.ts.map +1 -0
  238. package/dist/examples/simple-grid.vitest.js +521 -0
  239. package/dist/examples/simple-grid.vitest.js.map +1 -0
  240. package/dist/examples/simple-navigation.js +10 -4
  241. package/dist/examples/simple-navigation.js.map +1 -1
  242. package/dist/examples/simple-navigation.vitest.d.ts +2 -0
  243. package/dist/examples/simple-navigation.vitest.d.ts.map +1 -0
  244. package/dist/examples/simple-navigation.vitest.js +718 -0
  245. package/dist/examples/simple-navigation.vitest.js.map +1 -0
  246. package/dist/examples/store.vitest.d.ts +2 -0
  247. package/dist/examples/store.vitest.d.ts.map +1 -0
  248. package/dist/examples/store.vitest.js +69 -0
  249. package/dist/examples/store.vitest.js.map +1 -0
  250. package/dist/extensions/dev.d.ts +4 -2
  251. package/dist/extensions/dev.d.ts.map +1 -1
  252. package/dist/extensions/dev.js +61 -10
  253. package/dist/extensions/dev.js.map +1 -1
  254. package/dist/extensions/dev.vitest.d.ts +2 -0
  255. package/dist/extensions/dev.vitest.d.ts.map +1 -0
  256. package/dist/extensions/dev.vitest.js +197 -0
  257. package/dist/extensions/dev.vitest.js.map +1 -0
  258. package/dist/extensions/home.d.ts.map +1 -1
  259. package/dist/extensions/home.js +3 -0
  260. package/dist/extensions/home.js.map +1 -1
  261. package/dist/home-command.d.ts +8 -0
  262. package/dist/home-command.d.ts.map +1 -0
  263. package/dist/home-command.js +181 -0
  264. package/dist/home-command.js.map +1 -0
  265. package/dist/hover-repro.d.ts +2 -0
  266. package/dist/hover-repro.d.ts.map +1 -0
  267. package/dist/hover-repro.js +20 -0
  268. package/dist/hover-repro.js.map +1 -0
  269. package/dist/index.d.ts +1 -0
  270. package/dist/index.d.ts.map +1 -1
  271. package/dist/index.js +2 -0
  272. package/dist/index.js.map +1 -1
  273. package/dist/internal/dialog.d.ts +1 -0
  274. package/dist/internal/dialog.d.ts.map +1 -1
  275. package/dist/internal/dialog.js +27 -18
  276. package/dist/internal/dialog.js.map +1 -1
  277. package/dist/internal/navigation.d.ts +9 -1
  278. package/dist/internal/navigation.d.ts.map +1 -1
  279. package/dist/internal/navigation.js +5 -5
  280. package/dist/internal/navigation.js.map +1 -1
  281. package/dist/internal/offscreen.d.ts +6 -0
  282. package/dist/internal/offscreen.d.ts.map +1 -0
  283. package/dist/internal/offscreen.js +10 -0
  284. package/dist/internal/offscreen.js.map +1 -0
  285. package/dist/internal/providers.d.ts.map +1 -1
  286. package/dist/internal/providers.js +2 -2
  287. package/dist/internal/providers.js.map +1 -1
  288. package/dist/internal/scrollbox.d.ts +1 -10
  289. package/dist/internal/scrollbox.d.ts.map +1 -1
  290. package/dist/internal/scrollbox.js +2 -1
  291. package/dist/internal/scrollbox.js.map +1 -1
  292. package/dist/localstorage.d.ts +13 -0
  293. package/dist/localstorage.d.ts.map +1 -0
  294. package/dist/localstorage.js +190 -0
  295. package/dist/localstorage.js.map +1 -0
  296. package/dist/oauth.d.ts +142 -0
  297. package/dist/oauth.d.ts.map +1 -0
  298. package/dist/oauth.js +551 -0
  299. package/dist/oauth.js.map +1 -0
  300. package/dist/preferences.d.ts +23 -0
  301. package/dist/preferences.d.ts.map +1 -0
  302. package/dist/preferences.js +105 -0
  303. package/dist/preferences.js.map +1 -0
  304. package/dist/state.d.ts +2 -0
  305. package/dist/state.d.ts.map +1 -1
  306. package/dist/state.js +3 -0
  307. package/dist/state.js.map +1 -1
  308. package/dist/store.d.ts +21 -0
  309. package/dist/store.d.ts.map +1 -0
  310. package/dist/store.js +84 -0
  311. package/dist/store.js.map +1 -0
  312. package/dist/swift-loader.d.ts +3 -0
  313. package/dist/swift-loader.d.ts.map +1 -0
  314. package/dist/swift-loader.js +193 -0
  315. package/dist/swift-loader.js.map +1 -0
  316. package/dist/swift-runtime.d.ts +2 -0
  317. package/dist/swift-runtime.d.ts.map +1 -0
  318. package/dist/swift-runtime.js +27 -0
  319. package/dist/swift-runtime.js.map +1 -0
  320. package/dist/toast.d.ts +44 -0
  321. package/dist/toast.d.ts.map +1 -0
  322. package/dist/toast.js +221 -0
  323. package/dist/toast.js.map +1 -0
  324. package/dist/utils/file-system.d.ts +9 -0
  325. package/dist/utils/file-system.d.ts.map +1 -1
  326. package/dist/utils/file-system.js +49 -0
  327. package/dist/utils/file-system.js.map +1 -1
  328. package/dist/utils/run-command.d.ts +25 -1
  329. package/dist/utils/run-command.d.ts.map +1 -1
  330. package/dist/utils/run-command.js +47 -4
  331. package/dist/utils/run-command.js.map +1 -1
  332. package/dist/window.d.ts +12 -0
  333. package/dist/window.d.ts.map +1 -0
  334. package/dist/window.js +48 -0
  335. package/dist/window.js.map +1 -0
  336. package/package.json +13 -11
  337. package/src/apis/browser-extension.tsx +29 -0
  338. package/src/apis/localstorage.test.ts +14 -6
  339. package/src/apis/localstorage.tsx +8 -5
  340. package/src/apis/oauth.tsx +5 -1
  341. package/src/apis/preferences.tsx +48 -22
  342. package/src/build.test.tsx +52 -0
  343. package/src/build.tsx +2 -1
  344. package/src/cli.tsx +80 -39
  345. package/src/compile.tsx +24 -6
  346. package/src/components/actions.tsx +94 -32
  347. package/src/components/detail.tsx +4 -0
  348. package/src/components/dropdown.tsx +47 -14
  349. package/src/components/extension-preferences.tsx +44 -16
  350. package/src/components/form/checkbox.tsx +12 -6
  351. package/src/components/form/date-picker.tsx +12 -6
  352. package/src/components/form/description.tsx +7 -2
  353. package/src/components/form/dropdown.tsx +131 -119
  354. package/src/components/form/file-autocomplete.tsx +90 -108
  355. package/src/components/form/file-picker.tsx +54 -43
  356. package/src/components/form/form-end.tsx +23 -2
  357. package/src/components/form/index.tsx +152 -34
  358. package/src/components/form/password-field.tsx +12 -6
  359. package/src/components/form/text-area.tsx +13 -6
  360. package/src/components/form/text-field.tsx +13 -6
  361. package/src/components/form/types.tsx +6 -0
  362. package/src/components/form/with-left-border.tsx +41 -8
  363. package/src/components/icon.tsx +27 -8
  364. package/src/components/list.tsx +193 -74
  365. package/src/components/loading-bar.tsx +3 -2
  366. package/src/components/loading-text.tsx +79 -0
  367. package/src/descendants.tsx +1 -0
  368. package/src/examples/file-autocomplete.vitest.tsx +130 -125
  369. package/src/examples/form-basic.vitest.tsx +376 -176
  370. package/src/examples/form-dropdown.vitest.tsx +126 -126
  371. package/src/examples/form-scroll.tsx +2 -0
  372. package/src/examples/form-scroll.vitest.tsx +58 -58
  373. package/src/examples/form-tagpicker.vitest.tsx +99 -99
  374. package/src/examples/internal/descendants-filtering.tsx +1 -0
  375. package/src/examples/internal/descendants.tsx +1 -0
  376. package/src/examples/internal/rhf-custom-ref.tsx +2 -0
  377. package/src/examples/internal/scrollbox-demo.tsx +3 -27
  378. package/src/examples/internal/scrollbox-with-descendants.tsx +4 -7
  379. package/src/examples/internal/simple-scrollbox.vitest.tsx +7 -5
  380. package/src/examples/list-detail-metadata.tsx +49 -0
  381. package/src/examples/list-detail-metadata.vitest.tsx +88 -0
  382. package/src/examples/list-dropdown-default.vitest.tsx +51 -51
  383. package/src/examples/list-fetch-data.vitest.tsx +4 -4
  384. package/src/examples/list-scrollbox.vitest.tsx +73 -14
  385. package/src/examples/list-with-detail-long.tsx +70 -0
  386. package/src/examples/list-with-detail.vitest.tsx +198 -92
  387. package/src/examples/list-with-dropdown.vitest.tsx +53 -53
  388. package/src/examples/list-with-sections.tsx +1 -0
  389. package/src/examples/list-with-sections.vitest.tsx +213 -89
  390. package/src/examples/list-with-toast.vitest.tsx +4 -4
  391. package/src/examples/simple-file-picker.vitest.tsx +61 -471
  392. package/src/examples/simple-grid.vitest.tsx +238 -233
  393. package/src/examples/simple-navigation.tsx +15 -7
  394. package/src/examples/simple-navigation.vitest.tsx +121 -210
  395. package/src/examples/store.vitest.tsx +1 -1
  396. package/src/examples/swift-extension.vitest.tsx +148 -0
  397. package/src/examples/synonyms.vitest.tsx +159 -0
  398. package/src/extensions/dev.tsx +74 -7
  399. package/src/extensions/dev.vitest.tsx +97 -31
  400. package/src/extensions/home.tsx +6 -0
  401. package/src/index.tsx +3 -0
  402. package/src/internal/dialog.tsx +43 -30
  403. package/src/internal/navigation.tsx +3 -1
  404. package/src/internal/offscreen.tsx +15 -0
  405. package/src/internal/providers.tsx +4 -2
  406. package/src/internal/scrollbox.tsx +4 -8
  407. package/src/keyboard.test.tsx +69 -0
  408. package/src/state.tsx +7 -0
  409. package/src/swift-loader.tsx +239 -0
  410. package/src/swift-runtime.tsx +36 -0
  411. package/src/utils/file-system.ts +61 -0
  412. package/src/utils/run-command.tsx +75 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-dropdown.vitest.js","sourceRoot":"","sources":["../../src/examples/form-dropdown.vitest.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=form-multiselect-dropdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-multiselect-dropdown.d.ts","sourceRoot":"","sources":["../../src/examples/form-multiselect-dropdown.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { renderWithProviders } from '@termcast/cli/src/utils';
4
+ import { Form, ActionPanel, Action } from '@termcast/cli';
5
+ function FormMultiSelectDropdownExample() {
6
+ const [submitted, setSubmitted] = useState(null);
7
+ const handleSubmit = (data) => {
8
+ setSubmitted(data);
9
+ };
10
+ return (_jsxs(Form, { actions: _jsx(ActionPanel, { children: _jsx(Action.SubmitForm, { title: 'Submit Form', onSubmit: handleSubmit }) }), children: [_jsx(Form.Description, { title: 'Multi-Select Dropdown Demo', text: 'Test dropdown with multiple selection capability' }), _jsxs(Form.Dropdown, { id: 'tags', title: 'Select Tags', placeholder: 'Choose multiple tags...', info: 'You can select multiple items', hasMultipleSelection: true, defaultValue: ['work', 'urgent'], children: [_jsx(Form.Dropdown.Item, { value: 'work', title: 'Work', icon: '\uD83D\uDCBC' }), _jsx(Form.Dropdown.Item, { value: 'personal', title: 'Personal', icon: '\uD83C\uDFE0' }), _jsx(Form.Dropdown.Item, { value: 'urgent', title: 'Urgent', icon: '\uD83D\uDEA8' }), _jsx(Form.Dropdown.Item, { value: 'later', title: 'Later', icon: '\u23F0' }), _jsx(Form.Dropdown.Item, { value: 'done', title: 'Done', icon: '\u2705' }), _jsx(Form.Dropdown.Item, { value: 'canceled', title: 'Canceled', icon: '\u274C' })] }), _jsxs(Form.Dropdown, { id: 'singleChoice', title: 'Single Choice', placeholder: 'Choose one option...', hasMultipleSelection: false, children: [_jsx(Form.Dropdown.Item, { value: 'option1', title: 'Option 1' }), _jsx(Form.Dropdown.Item, { value: 'option2', title: 'Option 2' }), _jsx(Form.Dropdown.Item, { value: 'option3', title: 'Option 3' })] }), submitted && (_jsx(Form.Description, { title: 'Submitted Data', text: JSON.stringify(submitted, null, 2) }))] }));
11
+ }
12
+ renderWithProviders(_jsx(FormMultiSelectDropdownExample, {}));
13
+ //# sourceMappingURL=form-multiselect-dropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-multiselect-dropdown.js","sourceRoot":"","sources":["../../src/examples/form-multiselect-dropdown.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEzD,SAAS,8BAA8B;IACnC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAM,IAAI,CAAC,CAAA;IAErD,MAAM,YAAY,GAAG,CAAC,IAAS,EAAE,EAAE;QAC/B,YAAY,CAAC,IAAI,CAAC,CAAA;IACtB,CAAC,CAAA;IAED,OAAO,CACH,MAAC,IAAI,IACD,OAAO,EACH,KAAC,WAAW,cACR,KAAC,MAAM,CAAC,UAAU,IACd,KAAK,EAAC,aAAa,EACnB,QAAQ,EAAE,YAAY,GACxB,GACQ,aAGlB,KAAC,IAAI,CAAC,WAAW,IACb,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAC,kDAAkD,GACzD,EAEF,MAAC,IAAI,CAAC,QAAQ,IACV,EAAE,EAAC,MAAM,EACT,KAAK,EAAC,aAAa,EACnB,WAAW,EAAC,yBAAyB,EACrC,IAAI,EAAC,+BAA+B,EACpC,oBAAoB,EAAE,IAAI,EAC1B,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,aAEhC,KAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,cAAI,GAAG,EAC1D,KAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAC,KAAK,EAAC,UAAU,EAAC,KAAK,EAAC,UAAU,EAAC,IAAI,EAAC,cAAI,GAAG,EAClE,KAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,cAAI,GAAG,EAC9D,KAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,EAAC,IAAI,EAAC,QAAG,GAAG,EAC3D,KAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,QAAG,GAAG,EACzD,KAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAC,KAAK,EAAC,UAAU,EAAC,KAAK,EAAC,UAAU,EAAC,IAAI,EAAC,QAAG,GAAG,IACrD,EAEhB,MAAC,IAAI,CAAC,QAAQ,IACV,EAAE,EAAC,cAAc,EACjB,KAAK,EAAC,eAAe,EACrB,WAAW,EAAC,sBAAsB,EAClC,oBAAoB,EAAE,KAAK,aAE3B,KAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,KAAK,EAAC,UAAU,GAAG,EACvD,KAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,KAAK,EAAC,UAAU,GAAG,EACvD,KAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,KAAK,EAAC,UAAU,GAAG,IAC3C,EAEf,SAAS,IAAI,CACV,KAAC,IAAI,CAAC,WAAW,IACb,KAAK,EAAC,gBAAgB,EACtB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAC1C,CACL,IACE,CACV,CAAA;AACL,CAAC;AAED,mBAAmB,CAAC,KAAC,8BAA8B,KAAG,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"form-scroll.d.ts","sourceRoot":"","sources":["../../src/examples/form-scroll.tsx"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,IAAI,GAAG,CAiDvC"}
1
+ {"version":3,"file":"form-scroll.d.ts","sourceRoot":"","sources":["../../src/examples/form-scroll.tsx"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,IAAI,GAAG,CAmDvC"}
@@ -2,7 +2,13 @@ import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
2
2
  import { Form, ActionPanel, Action } from 'termcast';
3
3
  import { renderWithProviders } from 'termcast';
4
4
  export function FormScrollExample() {
5
- return (_jsx("box", { flexDirection: 'column', flexGrow: 1, children: _jsxs(Form, { actions: _jsx(ActionPanel, { children: _jsx(Action.SubmitForm, { title: 'Submit', onSubmit: () => { } }) }), children: [_jsx(Form.Description, { title: 'Form Scroll Test', text: 'Test scrolling behavior when navigating with Tab' }), _jsx(Form.TextField, { id: 'field1', title: 'Field 1', placeholder: 'First field' }), _jsx(Form.TextField, { id: 'field2', title: 'Field 2', placeholder: 'Second field' }), _jsx(Form.TextField, { id: 'field3', title: 'Field 3', placeholder: 'Third field' }), _jsx(Form.TextField, { id: 'field4', title: 'Field 4', placeholder: 'Fourth field' }), _jsx(Form.TextField, { id: 'field5', title: 'Field 5', placeholder: 'Fifth field' }), _jsx(Form.TextField, { id: 'field6', title: 'Field 6', placeholder: 'Sixth field' }), _jsx(Form.TextField, { id: 'field7', title: 'Field 7', placeholder: 'Seventh field' }), _jsx(Form.TextField, { id: 'field8', title: 'Field 8', placeholder: 'Eighth field' })] }) }));
5
+ return (_jsx("box", { flexDirection: 'column', flexGrow: 1, children: _jsxs(Form
6
+ // isLoading
7
+ // navigationTitle='something'
8
+ , {
9
+ // isLoading
10
+ // navigationTitle='something'
11
+ actions: _jsx(ActionPanel, { children: _jsx(Action.SubmitForm, { title: 'Submit', onSubmit: () => { } }) }), children: [_jsx(Form.Description, { title: 'Form Scroll Test', text: 'Test scrolling behavior when navigating with Tab' }), _jsx(Form.TextField, { id: 'field1', title: 'Field 1', placeholder: 'First field' }), _jsx(Form.TextField, { id: 'field2', title: 'Field 2', placeholder: 'Second field' }), _jsx(Form.TextField, { id: 'field3', title: 'Field 3', placeholder: 'Third field' }), _jsx(Form.TextField, { id: 'field4', title: 'Field 4', placeholder: 'Fourth field' }), _jsx(Form.TextField, { id: 'field5', title: 'Field 5', placeholder: 'Fifth field' }), _jsx(Form.TextField, { id: 'field6', title: 'Field 6', placeholder: 'Sixth field' }), _jsx(Form.TextField, { id: 'field7', title: 'Field 7', placeholder: 'Seventh field' }), _jsx(Form.TextField, { id: 'field8', title: 'Field 8', placeholder: 'Eighth field' })] }) }));
6
12
  }
7
13
  await renderWithProviders(_jsx(FormScrollExample, {}));
8
14
  //# sourceMappingURL=form-scroll.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-scroll.js","sourceRoot":"","sources":["../../src/examples/form-scroll.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,UAAU,iBAAiB;IAC/B,OAAO,CACL,cAAK,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,YACrC,MAAC,IAAI,IACH,OAAO,EACL,KAAC,WAAW,cACV,KAAC,MAAM,CAAC,UAAU,IAAC,KAAK,EAAC,QAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,GAAI,GAC5C,aAGhB,KAAC,IAAI,CAAC,WAAW,IACf,KAAK,EAAC,kBAAkB,EACxB,IAAI,EAAC,kDAAkD,GACvD,EAEF,KAAC,IAAI,CAAC,SAAS,IAAC,EAAE,EAAC,QAAQ,EAAC,KAAK,EAAC,SAAS,EAAC,WAAW,EAAC,aAAa,GAAG,EAExE,KAAC,IAAI,CAAC,SAAS,IACb,EAAE,EAAC,QAAQ,EACX,KAAK,EAAC,SAAS,EACf,WAAW,EAAC,cAAc,GAC1B,EAEF,KAAC,IAAI,CAAC,SAAS,IAAC,EAAE,EAAC,QAAQ,EAAC,KAAK,EAAC,SAAS,EAAC,WAAW,EAAC,aAAa,GAAG,EAExE,KAAC,IAAI,CAAC,SAAS,IACb,EAAE,EAAC,QAAQ,EACX,KAAK,EAAC,SAAS,EACf,WAAW,EAAC,cAAc,GAC1B,EAEF,KAAC,IAAI,CAAC,SAAS,IAAC,EAAE,EAAC,QAAQ,EAAC,KAAK,EAAC,SAAS,EAAC,WAAW,EAAC,aAAa,GAAG,EAExE,KAAC,IAAI,CAAC,SAAS,IAAC,EAAE,EAAC,QAAQ,EAAC,KAAK,EAAC,SAAS,EAAC,WAAW,EAAC,aAAa,GAAG,EAExE,KAAC,IAAI,CAAC,SAAS,IACb,EAAE,EAAC,QAAQ,EACX,KAAK,EAAC,SAAS,EACf,WAAW,EAAC,eAAe,GAC3B,EAEF,KAAC,IAAI,CAAC,SAAS,IACb,EAAE,EAAC,QAAQ,EACX,KAAK,EAAC,SAAS,EACf,WAAW,EAAC,cAAc,GAC1B,IACG,GACH,CACP,CAAA;AACH,CAAC;AAED,MAAM,mBAAmB,CAAC,KAAC,iBAAiB,KAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"form-scroll.js","sourceRoot":"","sources":["../../src/examples/form-scroll.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,UAAU,iBAAiB;IAC/B,OAAO,CACL,cAAK,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,YACrC,MAAC,IAAI;QACH,YAAY;QACZ,8BAA8B;;YAD9B,YAAY;YACZ,8BAA8B;YAC9B,OAAO,EACL,KAAC,WAAW,cACV,KAAC,MAAM,CAAC,UAAU,IAAC,KAAK,EAAC,QAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,GAAI,GAC5C,aAGhB,KAAC,IAAI,CAAC,WAAW,IACf,KAAK,EAAC,kBAAkB,EACxB,IAAI,EAAC,kDAAkD,GACvD,EAEF,KAAC,IAAI,CAAC,SAAS,IAAC,EAAE,EAAC,QAAQ,EAAC,KAAK,EAAC,SAAS,EAAC,WAAW,EAAC,aAAa,GAAG,EAExE,KAAC,IAAI,CAAC,SAAS,IACb,EAAE,EAAC,QAAQ,EACX,KAAK,EAAC,SAAS,EACf,WAAW,EAAC,cAAc,GAC1B,EAEF,KAAC,IAAI,CAAC,SAAS,IAAC,EAAE,EAAC,QAAQ,EAAC,KAAK,EAAC,SAAS,EAAC,WAAW,EAAC,aAAa,GAAG,EAExE,KAAC,IAAI,CAAC,SAAS,IACb,EAAE,EAAC,QAAQ,EACX,KAAK,EAAC,SAAS,EACf,WAAW,EAAC,cAAc,GAC1B,EAEF,KAAC,IAAI,CAAC,SAAS,IAAC,EAAE,EAAC,QAAQ,EAAC,KAAK,EAAC,SAAS,EAAC,WAAW,EAAC,aAAa,GAAG,EAExE,KAAC,IAAI,CAAC,SAAS,IAAC,EAAE,EAAC,QAAQ,EAAC,KAAK,EAAC,SAAS,EAAC,WAAW,EAAC,aAAa,GAAG,EAExE,KAAC,IAAI,CAAC,SAAS,IACb,EAAE,EAAC,QAAQ,EACX,KAAK,EAAC,SAAS,EACf,WAAW,EAAC,eAAe,GAC3B,EAEF,KAAC,IAAI,CAAC,SAAS,IACb,EAAE,EAAC,QAAQ,EACX,KAAK,EAAC,SAAS,EACf,WAAW,EAAC,cAAc,GAC1B,IACG,GACH,CACP,CAAA;AACH,CAAC;AAED,MAAM,mBAAmB,CAAC,KAAC,iBAAiB,KAAG,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=form-scroll.vitest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-scroll.vitest.d.ts","sourceRoot":"","sources":["../../src/examples/form-scroll.vitest.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,211 @@
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/form-scroll.tsx'],
8
+ cols: 60,
9
+ rows: 15,
10
+ });
11
+ });
12
+ afterEach(() => {
13
+ session?.close();
14
+ });
15
+ test('form scroll - tab navigates and scrolls to focused field', async () => {
16
+ await session.text({
17
+ waitFor: (text) => {
18
+ return /Form Scroll Test/i.test(text);
19
+ },
20
+ });
21
+ const initialSnapshot = await session.text();
22
+ expect(initialSnapshot).toMatchInlineSnapshot(`
23
+ "
24
+
25
+
26
+ ▪ Form Scroll Test ▀
27
+ │ Test scrolling behavior when navigating with Tab
28
+
29
+ ◆ Field 1
30
+ ┃ First field
31
+
32
+ ◇ Field 2
33
+ │ Second field
34
+
35
+
36
+
37
+ alt ↵ submit ↑↓ navigate ^k actions"
38
+ `);
39
+ await session.press('tab');
40
+ const afterTab1 = await session.text();
41
+ expect(afterTab1).toMatchInlineSnapshot(`
42
+ "
43
+
44
+
45
+ ▪ Form Scroll Test ▀
46
+ │ Test scrolling behavior when navigating with Tab
47
+
48
+ ◇ Field 1
49
+ │ First field
50
+
51
+ ◆ Field 2
52
+ ┃ Second field
53
+
54
+
55
+
56
+ alt ↵ submit ↑↓ navigate ^k actions"
57
+ `);
58
+ await session.press('tab');
59
+ const afterTab2 = await session.text();
60
+ expect(afterTab2).toMatchInlineSnapshot(`
61
+ "
62
+
63
+
64
+ ◇ Field 1
65
+ │ First field ▄
66
+
67
+ ◇ Field 2
68
+ │ Second field
69
+
70
+ ◆ Field 3
71
+ ┃ Third field
72
+
73
+
74
+
75
+ alt ↵ submit ↑↓ navigate ^k actions"
76
+ `);
77
+ await session.press('tab');
78
+ const afterTab3 = await session.text();
79
+ expect(afterTab3).toMatchInlineSnapshot(`
80
+ "
81
+
82
+
83
+ ◇ Field 2
84
+ │ Second field
85
+ │ ▄
86
+ ◇ Field 3
87
+ │ Third field
88
+
89
+ ◆ Field 4
90
+ ┃ Fourth field
91
+
92
+
93
+
94
+ alt ↵ submit ↑↓ navigate ^k actions"
95
+ `);
96
+ await session.press('tab');
97
+ const afterTab4 = await session.text();
98
+ expect(afterTab4).toMatchInlineSnapshot(`
99
+ "
100
+
101
+
102
+ ◇ Field 3
103
+ │ Third field
104
+
105
+ ◇ Field 4
106
+ │ Fourth field ▀
107
+
108
+ ◆ Field 5
109
+ ┃ Fifth field
110
+
111
+
112
+
113
+ alt ↵ submit ↑↓ navigate ^k actions"
114
+ `);
115
+ await session.press('tab');
116
+ const afterTab5 = await session.text();
117
+ expect(afterTab5).toMatchInlineSnapshot(`
118
+ "
119
+
120
+
121
+ ◇ Field 4
122
+ │ Fourth field
123
+
124
+ ◇ Field 5
125
+ │ Fifth field
126
+ │ ▄
127
+ ◆ Field 6
128
+ ┃ Sixth field
129
+
130
+
131
+
132
+ alt ↵ submit ↑↓ navigate ^k actions"
133
+ `);
134
+ await session.press('tab');
135
+ const afterTab6 = await session.text();
136
+ expect(afterTab6).toMatchInlineSnapshot(`
137
+ "
138
+
139
+
140
+ ◇ Field 5
141
+ │ Fifth field
142
+
143
+ ◇ Field 6
144
+ │ Sixth field
145
+
146
+ ◆ Field 7 ▄
147
+ ┃ Seventh field
148
+
149
+
150
+
151
+ alt ↵ submit ↑↓ navigate ^k actions"
152
+ `);
153
+ await session.press('tab');
154
+ const afterTab7 = await session.text();
155
+ expect(afterTab7).toMatchInlineSnapshot(`
156
+ "
157
+
158
+
159
+ ◇ Field 6
160
+ │ Sixth field
161
+
162
+ ◇ Field 7
163
+ │ Seventh field
164
+
165
+ ◆ Field 8
166
+ ┃ Eighth field
167
+ ┃ ▀
168
+
169
+
170
+ alt ↵ submit ↑↓ navigate ^k actions"
171
+ `);
172
+ await session.press(['shift', 'tab']);
173
+ const afterShiftTab1 = await session.text();
174
+ expect(afterShiftTab1).toMatchInlineSnapshot(`
175
+ "
176
+
177
+
178
+ ◆ Field 1
179
+ ┃ First field ▄
180
+
181
+ ◇ Field 2
182
+ │ Second field
183
+
184
+ ◇ Field 3
185
+ │ Third field
186
+
187
+
188
+
189
+ alt ↵ submit ↑↓ navigate ^k actions"
190
+ `);
191
+ await session.press(['shift', 'tab']);
192
+ const afterShiftTab2 = await session.text();
193
+ expect(afterShiftTab2).toMatchInlineSnapshot(`
194
+ "
195
+
196
+
197
+ ◇ Field 1
198
+ │ First field ▄
199
+
200
+ ◆ Field 2
201
+ ┃ Second field
202
+
203
+ ◇ Field 3
204
+ │ Third field
205
+
206
+
207
+
208
+ alt ↵ submit ↑↓ navigate ^k actions"
209
+ `);
210
+ }, 30000);
211
+ //# sourceMappingURL=form-scroll.vitest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-scroll.vitest.js","sourceRoot":"","sources":["../../src/examples/form-scroll.vitest.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=form-tagpicker.vitest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-tagpicker.vitest.d.ts","sourceRoot":"","sources":["../../src/examples/form-tagpicker.vitest.tsx"],"names":[],"mappings":""}