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
@@ -39,22 +39,22 @@ test('grid navigation and display', async () => {
39
39
  Search items...
40
40
 
41
41
  Fruits ▲
42
- Apple
43
- Banana
44
- Cherry
42
+ ›🍎 Apple
43
+ 🍌 Banana
44
+ 🍒 Cherry
45
45
 
46
46
  Animals
47
- Dog
48
- Cat
49
- Rabbit
47
+ 🐕 Dog
48
+ 🐱 Cat
49
+ 🐰 Rabbit
50
50
 
51
51
  Others
52
- House
53
- Car
54
- Rocket
52
+ 🏠 House
53
+ 🚗 Car
54
+ 🚀 Rocket
55
55
 
56
56
 
57
- select ↑↓ navigate ^k actions"
57
+ show details ↑↓ navigate ^k actions"
58
58
  `)
59
59
 
60
60
  // Navigate down
@@ -70,22 +70,22 @@ test('grid navigation and display', async () => {
70
70
  Search items...
71
71
 
72
72
  Fruits ▲
73
- Apple
74
- Banana
75
- Cherry
73
+ 🍎 Apple
74
+ ›🍌 Banana
75
+ 🍒 Cherry
76
76
 
77
77
  Animals
78
- Dog
79
- Cat
80
- Rabbit
78
+ 🐕 Dog
79
+ 🐱 Cat
80
+ 🐰 Rabbit
81
81
 
82
82
  Others
83
- House
84
- Car
85
- Rocket
83
+ 🏠 House
84
+ 🚗 Car
85
+ 🚀 Rocket
86
86
 
87
87
 
88
- select ↑↓ navigate ^k actions"
88
+ show details ↑↓ navigate ^k actions"
89
89
  `)
90
90
 
91
91
  // Navigate right to Animals section
@@ -102,22 +102,22 @@ test('grid navigation and display', async () => {
102
102
  Search items...
103
103
 
104
104
  Fruits ▲
105
- Apple
106
- Banana
107
- Cherry
105
+ 🍎 Apple
106
+ 🍌 Banana
107
+ 🍒 Cherry
108
108
 
109
109
  Animals
110
- Dog
111
- Cat
112
- Rabbit
110
+ ›🐕 Dog
111
+ 🐱 Cat
112
+ 🐰 Rabbit
113
113
 
114
114
  Others
115
- House
116
- Car
117
- Rocket
115
+ 🏠 House
116
+ 🚗 Car
117
+ 🚀 Rocket
118
118
 
119
119
 
120
- select ↑↓ navigate ^k actions"
120
+ show details ↑↓ navigate ^k actions"
121
121
  `)
122
122
 
123
123
  // Open actions with ctrl+k
@@ -128,29 +128,29 @@ test('grid navigation and display', async () => {
128
128
  "
129
129
 
130
130
 
131
- Simple Grid Example ────────────────────────────────────────────
132
-
133
- Search items...
134
-
135
- Fruits ▲
136
- ┃ ┃
137
- ┃ esc ┃
138
-
139
- Search actions... ┃
140
-
141
- ┃ ›Show Details ┃
142
- Copy Emoji ⌃C ┃
143
-
144
-
145
-
146
-
147
-
148
-
149
-
150
-
151
-
152
- ↵ select ↑↓ navigate ┃
153
- "
131
+ Simple Grid Example ────────────────────────────────────────────
132
+
133
+ Search items...
134
+
135
+ Fruits ▲
136
+ Apple ▀
137
+ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
138
+
139
+ esc
140
+
141
+ ›┃ Search actions...
142
+
143
+ ›Show Details
144
+ Copy Emoji ⌃C
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+ ┃"
154
154
  `)
155
155
 
156
156
  // Close actions with escape
@@ -166,22 +166,22 @@ test('grid navigation and display', async () => {
166
166
  Search items...
167
167
 
168
168
  Fruits ▲
169
- Apple
170
- Banana
171
- Cherry
169
+ 🍎 Apple
170
+ 🍌 Banana
171
+ 🍒 Cherry
172
172
 
173
173
  Animals
174
- Dog
175
- Cat
176
- Rabbit
174
+ ›🐕 Dog
175
+ 🐱 Cat
176
+ 🐰 Rabbit
177
177
 
178
178
  Others
179
- House
180
- Car
181
- Rocket
179
+ 🏠 House
180
+ 🚗 Car
181
+ 🚀 Rocket
182
182
 
183
183
 
184
- select ↑↓ navigate ^k actions"
184
+ show details ↑↓ navigate ^k actions"
185
185
  `)
186
186
  }, 15000)
187
187
 
@@ -205,27 +205,27 @@ test('grid search functionality', async () => {
205
205
  "
206
206
 
207
207
 
208
- Simple Grid Example ────────────────────────────────────────────
209
-
210
- cat
211
-
212
-
213
- Cat
214
-
215
-
216
-
217
-
218
-
219
-
220
-
221
-
222
-
208
+ Simple Grid Example ────────────────────────────────────────────
223
209
 
210
+ cat
224
211
 
212
+ ›🍎 Apple ▲
213
+ 🍌 Banana █
214
+ 🍒 Cherry
215
+ 🐕 Dog
216
+ 🐱 Cat
217
+ 🐰 Rabbit
218
+ 🏠 House
219
+ 🚗 Car
220
+ 🚀 Rocket
221
+ ⭐ Star
222
+ 🌙 Moon
223
+ ☀ Sun
225
224
 
225
+
226
226
 
227
227
 
228
- select ↑↓ navigate ^k actions"
228
+ show details ↑↓ navigate ^k actions"
229
229
  `)
230
230
 
231
231
  // Clear search and search for "space"
@@ -243,27 +243,27 @@ test('grid search functionality', async () => {
243
243
  "
244
244
 
245
245
 
246
- Simple Grid Example ────────────────────────────────────────────
247
-
248
- space
249
-
250
-
251
-
252
- Rocket
253
- Star
254
- Moon
255
- Sun
256
-
257
-
258
-
259
-
260
-
246
+ Simple Grid Example ────────────────────────────────────────────
261
247
 
248
+ space
262
249
 
250
+ ›🍎 Apple ▲
251
+ 🍌 Banana █
252
+ 🍒 Cherry
253
+ 🐕 Dog
254
+ 🐱 Cat
255
+ 🐰 Rabbit
256
+ 🏠 House
257
+ 🚗 Car
258
+ 🚀 Rocket
259
+ ⭐ Star
260
+ 🌙 Moon
261
+ ☀ Sun
263
262
 
263
+
264
264
 
265
265
 
266
- select ↑↓ navigate ^k actions"
266
+ show details ↑↓ navigate ^k actions"
267
267
  `)
268
268
 
269
269
  // Clear search completely
@@ -283,22 +283,22 @@ test('grid search functionality', async () => {
283
283
  Search items...
284
284
 
285
285
  Fruits ▲
286
- Apple
287
- Banana
288
- Cherry
286
+ ›🍎 Apple
287
+ 🍌 Banana
288
+ 🍒 Cherry
289
289
 
290
290
  Animals
291
- Dog
292
- Cat
293
- Rabbit
291
+ 🐕 Dog
292
+ 🐱 Cat
293
+ 🐰 Rabbit
294
294
 
295
295
  Others
296
- House
297
- Car
298
- Rocket
296
+ 🏠 House
297
+ 🚗 Car
298
+ 🚀 Rocket
299
299
 
300
300
 
301
- select ↑↓ navigate ^k actions"
301
+ show details ↑↓ navigate ^k actions"
302
302
  `)
303
303
 
304
304
  // Search for something that doesn't exist
@@ -313,27 +313,27 @@ test('grid search functionality', async () => {
313
313
  "
314
314
 
315
315
 
316
- Simple Grid Example ────────────────────────────────────────────
317
-
318
- xyz123
319
-
320
-
321
-
322
-
323
-
324
-
325
-
326
-
327
-
328
-
329
-
330
-
316
+ Simple Grid Example ────────────────────────────────────────────
331
317
 
318
+ xyz123
332
319
 
320
+ ›🍎 Apple ▲
321
+ 🍌 Banana █
322
+ 🍒 Cherry
323
+ 🐕 Dog
324
+ 🐱 Cat
325
+ 🐰 Rabbit
326
+ 🏠 House
327
+ 🚗 Car
328
+ 🚀 Rocket
329
+ ⭐ Star
330
+ 🌙 Moon
331
+ ☀ Sun
333
332
 
333
+
334
334
 
335
335
 
336
- select ↑↓ navigate ^k actions"
336
+ show details ↑↓ navigate ^k actions"
337
337
  `)
338
338
  }, 10000)
339
339
 
@@ -353,29 +353,27 @@ test('grid item selection and actions', async () => {
353
353
  "
354
354
 
355
355
 
356
- Simple Grid Example ────────────────────────────────────────────
357
-
358
- Search items...
359
-
360
- Fruits ▲
361
- ┃ ┃
362
- ┃ esc ┃
363
- ┃ ┃
364
- ┃ Search actions... ┃
365
- ┃ ┃
366
- ┃ ›Show Details ┃
367
- ┃ Copy Emoji ⌃C ┃
368
- ┃ ┃
369
- ┃ ┃
370
- ┃ ┃
371
- ┃ ┃
372
- ┃ ┃
373
- ┃ ┃
374
- ┃ ┃
375
- ┃ ┃
376
- ┃ ┃
377
- ┃ ↵ select ↑↓ navigate ┃
378
- ┃ ┃"
356
+ Simple Grid Example ────────────────────────────────────────────
357
+
358
+ Search items...
359
+
360
+ Fruits ▲
361
+ ›🍎 Apple ▀
362
+ 🍌 Banana
363
+ 🍒 Cherry
364
+
365
+ Animals
366
+ 🐕 Dog
367
+ 🐱 Cat
368
+ 🐰 Rabbit
369
+
370
+ Others
371
+ 🏠 House
372
+ 🚗 Car
373
+ 🚀 Rocket ▼
374
+
375
+
376
+ ↵ show details ↑↓ navigate ^k actions"
379
377
  `)
380
378
 
381
379
  // Navigate down in actions
@@ -386,29 +384,27 @@ test('grid item selection and actions', async () => {
386
384
  "
387
385
 
388
386
 
389
- Simple Grid Example ────────────────────────────────────────────
390
-
391
- Search items...
392
-
393
- Fruits ▲
394
- ┃ ┃
395
- ┃ esc ┃
396
- ┃ ┃
397
- ┃ Search actions... ┃
398
- ┃ ┃
399
- ┃ Show Details ┃
400
- ┃ ›Copy Emoji ⌃C ┃
401
- ┃ ┃
402
- ┃ ┃
403
- ┃ ┃
404
- ┃ ┃
405
- ┃ ┃
406
- ┃ ┃
407
- ┃ ┃
408
- ┃ ┃
409
- ┃ ┃
410
- ┃ ↵ select ↑↓ navigate ┃
411
- ┃ ┃"
387
+ Simple Grid Example ────────────────────────────────────────────
388
+
389
+ Search items...
390
+
391
+ Fruits ▲
392
+ 🍎 Apple ▀
393
+ ›🍌 Banana
394
+ 🍒 Cherry
395
+
396
+ Animals
397
+ 🐕 Dog
398
+ 🐱 Cat
399
+ 🐰 Rabbit
400
+
401
+ Others
402
+ 🏠 House
403
+ 🚗 Car
404
+ 🚀 Rocket ▼
405
+
406
+
407
+ ↵ show details ↑↓ navigate ^k actions"
412
408
  `)
413
409
 
414
410
  // Select "Copy Emoji" action
@@ -424,22 +420,22 @@ test('grid item selection and actions', async () => {
424
420
  Search items...
425
421
 
426
422
  Fruits ▲
427
- Apple
428
- Banana
429
- Cherry
423
+ 🍎 Apple
424
+ ›🍌 Banana
425
+ 🍒 Cherry
430
426
 
431
427
  Animals
432
- Dog
433
- Cat
434
- Rabbit
428
+ 🐕 Dog
429
+ 🐱 Cat
430
+ 🐰 Rabbit
435
431
 
436
432
  Others
437
- House
438
- Car
439
- Rocket
433
+ 🏠 House
434
+ 🚗 Car
435
+ 🚀 Rocket
440
436
 
441
437
 
442
- select ↑↓ navigate ^k actions"
438
+ show details ↑↓ navigate ^k actions"
443
439
  `)
444
440
  }, 10000)
445
441
 
@@ -464,22 +460,22 @@ test('grid mouse interaction', async () => {
464
460
  Search items...
465
461
 
466
462
  Fruits ▲
467
- Apple
468
- Banana
469
- Cherry
463
+ 🍎 Apple
464
+ 🍌 Banana
465
+ 🍒 Cherry
470
466
 
471
467
  Animals
472
- Dog
473
- Cat
474
- Rabbit
468
+ ›🐕 Dog
469
+ 🐱 Cat
470
+ 🐰 Rabbit
475
471
 
476
472
  Others
477
- House
478
- Car
479
- Rocket
473
+ 🏠 House
474
+ 🚗 Car
475
+ 🚀 Rocket
480
476
 
481
477
 
482
- select ↑↓ navigate ^k actions"
478
+ show details ↑↓ navigate ^k actions"
483
479
  `)
484
480
 
485
481
  // Navigate down to make "Star" visible (it's below Rocket in Others section)
@@ -499,31 +495,42 @@ test('grid mouse interaction', async () => {
499
495
  "
500
496
 
501
497
 
502
- Simple Grid Example ────────────────────────────────────────────
503
-
504
- Search items...
505
-
506
- Apple
507
- ┃ ┃
508
- ┃ esc ┃
509
-
510
- Search actions... ┃
511
-
512
- ›Show Details ┃
513
- ┃ Copy Emoji ⌃C ┃
514
-
515
-
516
-
517
-
518
-
519
-
520
-
521
-
522
-
523
- ↵ select ↑↓ navigate ┃
524
- "
498
+ Simple Grid Example ────────────────────────────────────────────
499
+
500
+ Search items...
501
+
502
+ Cat
503
+ Rabbit
504
+ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
505
+
506
+ esc
507
+
508
+ Search actions...
509
+ ›┃
510
+ ›Show Details
511
+ Copy Emoji ⌃C
512
+
513
+
514
+
515
+
516
+
517
+
518
+
519
+
520
+ ┃"
525
521
  `)
526
522
 
523
+ // Close the actions panel first
524
+ await session.press('esc')
525
+
526
+ // Navigate back up to make Apple visible
527
+ await session.press('up')
528
+ await session.press('up')
529
+ await session.press('up')
530
+ await session.press('up')
531
+ await session.press('up')
532
+ await session.press('up')
533
+
527
534
  // Click on "Apple" to go back to first section
528
535
  await session.click('Apple', { first: true })
529
536
 
@@ -532,28 +539,26 @@ test('grid mouse interaction', async () => {
532
539
  "
533
540
 
534
541
 
535
- Simple Grid Example ────────────────────────────────────────────
536
-
537
- Search items...
538
-
539
- Apple
540
- ┃ ┃
541
- ┃ esc ┃
542
- ┃ ┃
543
- ┃ Search actions... ┃
544
- ┃ ┃
545
- ┃ ›Show Details ┃
546
- ┃ Copy Emoji ⌃C ┃
547
- ┃ ┃
548
- ┃ ┃
549
- ┃ ┃
550
- ┃ ┃
551
- ┃ ┃
552
- ┃ ┃
553
- ┃ ┃
554
- ┃ ┃
555
- ┃ ┃
556
- ┃ ↵ select ↑↓ navigate ┃
557
- ┃ ┃"
542
+ Simple Grid Example ────────────────────────────────────────────
543
+
544
+ Search items...
545
+
546
+ Fruits
547
+ ›🍎 Apple ▀
548
+ 🍌 Banana
549
+ 🍒 Cherry
550
+
551
+ Animals
552
+ 🐕 Dog
553
+ 🐱 Cat
554
+ 🐰 Rabbit
555
+
556
+ Others
557
+ 🏠 House
558
+ 🚗 Car
559
+ 🚀 Rocket ▼
560
+
561
+
562
+ ↵ show details ↑↓ navigate ^k actions"
558
563
  `)
559
564
  }, 10000)