termcast 1.3.9 → 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 (559) hide show
  1. package/dist/action-utils.js +1 -1
  2. package/dist/action-utils.js.map +1 -1
  3. package/dist/apis/ai.js +1 -1
  4. package/dist/apis/ai.js.map +1 -1
  5. package/dist/apis/clipboard.js +2 -2
  6. package/dist/apis/clipboard.js.map +1 -1
  7. package/dist/apis/hud.d.ts +2 -2
  8. package/dist/apis/hud.d.ts.map +1 -1
  9. package/dist/apis/hud.js +5 -5
  10. package/dist/apis/hud.js.map +1 -1
  11. package/dist/apis/oauth.d.ts +1 -1
  12. package/dist/apis/oauth.d.ts.map +1 -1
  13. package/dist/apis/oauth.js +8 -8
  14. package/dist/apis/oauth.js.map +1 -1
  15. package/dist/apis/preferences.js +4 -4
  16. package/dist/apis/preferences.js.map +1 -1
  17. package/dist/apis/toast.d.ts +1 -5
  18. package/dist/apis/toast.d.ts.map +1 -1
  19. package/dist/apis/toast.js +26 -20
  20. package/dist/apis/toast.js.map +1 -1
  21. package/dist/build.d.ts +2 -0
  22. package/dist/build.d.ts.map +1 -1
  23. package/dist/build.js +9 -8
  24. package/dist/build.js.map +1 -1
  25. package/dist/cli.js +44 -2
  26. package/dist/cli.js.map +1 -1
  27. package/dist/colors.d.ts +8 -1
  28. package/dist/colors.d.ts.map +1 -1
  29. package/dist/colors.js +12 -0
  30. package/dist/colors.js.map +1 -1
  31. package/dist/compile.d.ts +30 -0
  32. package/dist/compile.d.ts.map +1 -0
  33. package/dist/compile.js +156 -0
  34. package/dist/compile.js.map +1 -0
  35. package/dist/components/actions.d.ts +2 -1
  36. package/dist/components/actions.d.ts.map +1 -1
  37. package/dist/components/actions.js +11 -8
  38. package/dist/components/actions.js.map +1 -1
  39. package/dist/components/alert.js +4 -4
  40. package/dist/components/alert.js.map +1 -1
  41. package/dist/components/command-arguments.d.ts +9 -0
  42. package/dist/components/command-arguments.d.ts.map +1 -0
  43. package/dist/components/command-arguments.js +21 -0
  44. package/dist/components/command-arguments.js.map +1 -0
  45. package/dist/components/detail.d.ts +3 -3
  46. package/dist/components/detail.d.ts.map +1 -1
  47. package/dist/components/detail.js +20 -42
  48. package/dist/components/detail.js.map +1 -1
  49. package/dist/components/dropdown.d.ts +2 -1
  50. package/dist/components/dropdown.d.ts.map +1 -1
  51. package/dist/components/dropdown.js +81 -25
  52. package/dist/components/dropdown.js.map +1 -1
  53. package/dist/components/extension-preferences.d.ts.map +1 -1
  54. package/dist/components/extension-preferences.js +23 -33
  55. package/dist/components/extension-preferences.js.map +1 -1
  56. package/dist/components/form/checkbox.d.ts.map +1 -1
  57. package/dist/components/form/checkbox.js +11 -4
  58. package/dist/components/form/checkbox.js.map +1 -1
  59. package/dist/components/form/date-picker.d.ts.map +1 -1
  60. package/dist/components/form/date-picker.js +18 -31
  61. package/dist/components/form/date-picker.js.map +1 -1
  62. package/dist/components/form/description.d.ts +2 -0
  63. package/dist/components/form/description.d.ts.map +1 -1
  64. package/dist/components/form/description.js +21 -3
  65. package/dist/components/form/description.js.map +1 -1
  66. package/dist/components/form/dropdown.d.ts.map +1 -1
  67. package/dist/components/form/dropdown.js +17 -32
  68. package/dist/components/form/dropdown.js.map +1 -1
  69. package/dist/components/form/file-autocomplete.d.ts +7 -4
  70. package/dist/components/form/file-autocomplete.d.ts.map +1 -1
  71. package/dist/components/form/file-autocomplete.js +56 -48
  72. package/dist/components/form/file-autocomplete.js.map +1 -1
  73. package/dist/components/form/file-picker.d.ts +5 -0
  74. package/dist/components/form/file-picker.d.ts.map +1 -1
  75. package/dist/components/form/file-picker.js +48 -51
  76. package/dist/components/form/file-picker.js.map +1 -1
  77. package/dist/components/form/form-end.js +1 -1
  78. package/dist/components/form/form-end.js.map +1 -1
  79. package/dist/components/form/form-ref.d.ts +43 -0
  80. package/dist/components/form/form-ref.d.ts.map +1 -0
  81. package/dist/components/form/form-ref.js +53 -0
  82. package/dist/components/form/form-ref.js.map +1 -0
  83. package/dist/components/form/index.d.ts +16 -0
  84. package/dist/components/form/index.d.ts.map +1 -1
  85. package/dist/components/form/index.js +90 -27
  86. package/dist/components/form/index.js.map +1 -1
  87. package/dist/components/form/password-field.d.ts.map +1 -1
  88. package/dist/components/form/password-field.js +33 -17
  89. package/dist/components/form/password-field.js.map +1 -1
  90. package/dist/components/form/separator.js +1 -1
  91. package/dist/components/form/separator.js.map +1 -1
  92. package/dist/components/form/tagpicker.d.ts +1 -1
  93. package/dist/components/form/tagpicker.d.ts.map +1 -1
  94. package/dist/components/form/text-area.d.ts.map +1 -1
  95. package/dist/components/form/text-area.js +33 -16
  96. package/dist/components/form/text-area.js.map +1 -1
  97. package/dist/components/form/text-field.d.ts.map +1 -1
  98. package/dist/components/form/text-field.js +38 -18
  99. package/dist/components/form/text-field.js.map +1 -1
  100. package/dist/components/form/use-form-navigation.d.ts +4 -0
  101. package/dist/components/form/use-form-navigation.d.ts.map +1 -1
  102. package/dist/components/form/use-form-navigation.js +35 -18
  103. package/dist/components/form/use-form-navigation.js.map +1 -1
  104. package/dist/components/form/with-left-border.d.ts.map +1 -1
  105. package/dist/components/form/with-left-border.js +3 -3
  106. package/dist/components/form/with-left-border.js.map +1 -1
  107. package/dist/components/icon.d.ts +3 -1
  108. package/dist/components/icon.d.ts.map +1 -1
  109. package/dist/components/icon.js +494 -469
  110. package/dist/components/icon.js.map +1 -1
  111. package/dist/components/image.js +1 -1
  112. package/dist/components/image.js.map +1 -1
  113. package/dist/components/list.d.ts +12 -8
  114. package/dist/components/list.d.ts.map +1 -1
  115. package/dist/components/list.js +172 -40
  116. package/dist/components/list.js.map +1 -1
  117. package/dist/components/loading-bar.js +2 -2
  118. package/dist/components/loading-bar.js.map +1 -1
  119. package/dist/components/menubar-extra.d.ts +1 -1
  120. package/dist/components/menubar-extra.d.ts.map +1 -1
  121. package/dist/components/menubar-extra.js +2 -2
  122. package/dist/components/menubar-extra.js.map +1 -1
  123. package/dist/descendants.d.ts.map +1 -1
  124. package/dist/descendants.js +8 -5
  125. package/dist/descendants.js.map +1 -1
  126. package/dist/e2e-node.d.ts +2 -0
  127. package/dist/e2e-node.d.ts.map +1 -1
  128. package/dist/e2e-node.js +14 -0
  129. package/dist/e2e-node.js.map +1 -1
  130. package/dist/examples/action-show-in-finder.js +3 -3
  131. package/dist/examples/action-show-in-finder.js.map +1 -1
  132. package/dist/examples/environment-test.js +4 -4
  133. package/dist/examples/environment-test.js.map +1 -1
  134. package/dist/examples/error-boundary.js +5 -5
  135. package/dist/examples/error-boundary.js.map +1 -1
  136. package/dist/examples/form-basic.d.ts.map +1 -1
  137. package/dist/examples/form-basic.js +6 -6
  138. package/dist/examples/form-basic.js.map +1 -1
  139. package/dist/examples/form-dropdown.js +3 -3
  140. package/dist/examples/form-dropdown.js.map +1 -1
  141. package/dist/examples/form-scroll.d.ts +2 -0
  142. package/dist/examples/form-scroll.d.ts.map +1 -0
  143. package/dist/examples/form-scroll.js +8 -0
  144. package/dist/examples/form-scroll.js.map +1 -0
  145. package/dist/examples/form-tagpicker.js +3 -3
  146. package/dist/examples/form-tagpicker.js.map +1 -1
  147. package/dist/examples/internal/descendants-filtering.js +10 -5
  148. package/dist/examples/internal/descendants-filtering.js.map +1 -1
  149. package/dist/examples/internal/descendants.js +13 -6
  150. package/dist/examples/internal/descendants.js.map +1 -1
  151. package/dist/examples/internal/rhf-custom-ref.d.ts +2 -0
  152. package/dist/examples/internal/rhf-custom-ref.d.ts.map +1 -0
  153. package/dist/examples/internal/rhf-custom-ref.js +67 -0
  154. package/dist/examples/internal/rhf-custom-ref.js.map +1 -0
  155. package/dist/examples/internal/scrollbox-demo.js +4 -8
  156. package/dist/examples/internal/scrollbox-demo.js.map +1 -1
  157. package/dist/examples/internal/scrollbox-with-descendants.d.ts +2 -0
  158. package/dist/examples/internal/scrollbox-with-descendants.d.ts.map +1 -0
  159. package/dist/examples/internal/scrollbox-with-descendants.js +63 -0
  160. package/dist/examples/internal/scrollbox-with-descendants.js.map +1 -0
  161. package/dist/examples/internal/simple-dialog.js +7 -7
  162. package/dist/examples/internal/simple-dialog.js.map +1 -1
  163. package/dist/examples/internal/simple-scrollbox.d.ts +2 -0
  164. package/dist/examples/internal/simple-scrollbox.d.ts.map +1 -0
  165. package/dist/examples/internal/simple-scrollbox.js +25 -0
  166. package/dist/examples/internal/simple-scrollbox.js.map +1 -0
  167. package/dist/examples/internal/text-stacking.js +4 -2
  168. package/dist/examples/internal/text-stacking.js.map +1 -1
  169. package/dist/examples/list-dropdown-default.js +3 -3
  170. package/dist/examples/list-dropdown-default.js.map +1 -1
  171. package/dist/examples/list-fetch-data.js +3 -3
  172. package/dist/examples/list-fetch-data.js.map +1 -1
  173. package/dist/examples/list-scrollbox.d.ts +2 -0
  174. package/dist/examples/list-scrollbox.d.ts.map +1 -0
  175. package/dist/examples/list-scrollbox.js +29 -0
  176. package/dist/examples/list-scrollbox.js.map +1 -0
  177. package/dist/examples/list-with-detail.js +2 -2
  178. package/dist/examples/list-with-detail.js.map +1 -1
  179. package/dist/examples/list-with-dropdown.js +2 -2
  180. package/dist/examples/list-with-dropdown.js.map +1 -1
  181. package/dist/examples/list-with-sections.js +6 -6
  182. package/dist/examples/list-with-sections.js.map +1 -1
  183. package/dist/examples/miscellaneous.js +14 -14
  184. package/dist/examples/miscellaneous.js.map +1 -1
  185. package/dist/examples/nested-navigation.js +9 -7
  186. package/dist/examples/nested-navigation.js.map +1 -1
  187. package/dist/examples/preferences-test.js +4 -4
  188. package/dist/examples/preferences-test.js.map +1 -1
  189. package/dist/examples/simple-dropdown.js +4 -4
  190. package/dist/examples/simple-dropdown.js.map +1 -1
  191. package/dist/examples/simple-file-picker.js +3 -3
  192. package/dist/examples/simple-file-picker.js.map +1 -1
  193. package/dist/examples/simple-grid.js +2 -2
  194. package/dist/examples/simple-grid.js.map +1 -1
  195. package/dist/examples/simple-hud.js +4 -4
  196. package/dist/examples/simple-hud.js.map +1 -1
  197. package/dist/examples/simple-list-search.js +21 -5
  198. package/dist/examples/simple-list-search.js.map +1 -1
  199. package/dist/examples/simple-list.js +4 -4
  200. package/dist/examples/simple-list.js.map +1 -1
  201. package/dist/examples/simple-navigation.js +9 -7
  202. package/dist/examples/simple-navigation.js.map +1 -1
  203. package/dist/examples/store.js +1 -1
  204. package/dist/examples/store.js.map +1 -1
  205. package/dist/examples/submodule-diff.d.ts +2 -0
  206. package/dist/examples/submodule-diff.d.ts.map +1 -0
  207. package/dist/examples/submodule-diff.js +99 -0
  208. package/dist/examples/submodule-diff.js.map +1 -0
  209. package/dist/examples/tanstack-demo.js +3 -3
  210. package/dist/examples/tanstack-demo.js.map +1 -1
  211. package/dist/examples/use-promise-demo.js +3 -3
  212. package/dist/examples/use-promise-demo.js.map +1 -1
  213. package/dist/extensions/dev.d.ts +8 -0
  214. package/dist/extensions/dev.d.ts.map +1 -1
  215. package/dist/extensions/dev.js +60 -35
  216. package/dist/extensions/dev.js.map +1 -1
  217. package/dist/extensions/home.d.ts.map +1 -1
  218. package/dist/extensions/home.js +22 -97
  219. package/dist/extensions/home.js.map +1 -1
  220. package/dist/extensions/store.js +2 -2
  221. package/dist/extensions/store.js.map +1 -1
  222. package/dist/globals.js +1 -1
  223. package/dist/globals.js.map +1 -1
  224. package/dist/hooks/index.d.ts +1 -1
  225. package/dist/hooks/index.d.ts.map +1 -1
  226. package/dist/hooks/index.js +1 -1
  227. package/dist/hooks/index.js.map +1 -1
  228. package/dist/hooks/use-action-panel.js +1 -1
  229. package/dist/hooks/use-action-panel.js.map +1 -1
  230. package/dist/hooks/use-unstable-ai.js +1 -1
  231. package/dist/hooks/use-unstable-ai.js.map +1 -1
  232. package/dist/index.d.ts +57 -55
  233. package/dist/index.d.ts.map +1 -1
  234. package/dist/index.js +42 -38
  235. package/dist/index.js.map +1 -1
  236. package/dist/internal/date-picker-widget.d.ts.map +1 -1
  237. package/dist/internal/date-picker-widget.js +56 -48
  238. package/dist/internal/date-picker-widget.js.map +1 -1
  239. package/dist/internal/dialog.d.ts +3 -3
  240. package/dist/internal/dialog.d.ts.map +1 -1
  241. package/dist/internal/dialog.js +10 -10
  242. package/dist/internal/dialog.js.map +1 -1
  243. package/dist/internal/error-handler.js +2 -2
  244. package/dist/internal/error-handler.js.map +1 -1
  245. package/dist/internal/focus-context.d.ts +1 -1
  246. package/dist/internal/focus-context.d.ts.map +1 -1
  247. package/dist/internal/navigation.d.ts +1 -1
  248. package/dist/internal/navigation.d.ts.map +1 -1
  249. package/dist/internal/navigation.js +2 -2
  250. package/dist/internal/navigation.js.map +1 -1
  251. package/dist/internal/providers.d.ts +2 -2
  252. package/dist/internal/providers.d.ts.map +1 -1
  253. package/dist/internal/providers.js +9 -9
  254. package/dist/internal/providers.js.map +1 -1
  255. package/dist/internal/scrollbox.d.ts +12 -0
  256. package/dist/internal/scrollbox.d.ts.map +1 -0
  257. package/dist/internal/scrollbox.js +34 -0
  258. package/dist/internal/scrollbox.js.map +1 -0
  259. package/dist/preload.js +1 -1
  260. package/dist/preload.js.map +1 -1
  261. package/dist/release.d.ts +11 -0
  262. package/dist/release.d.ts.map +1 -0
  263. package/dist/release.js +113 -0
  264. package/dist/release.js.map +1 -0
  265. package/dist/state.d.ts +1 -0
  266. package/dist/state.d.ts.map +1 -1
  267. package/dist/state.js +1 -0
  268. package/dist/state.js.map +1 -1
  269. package/dist/theme.d.ts +11 -8
  270. package/dist/theme.d.ts.map +1 -1
  271. package/dist/theme.js +31 -8
  272. package/dist/theme.js.map +1 -1
  273. package/dist/utils/run-command.d.ts +22 -0
  274. package/dist/utils/run-command.d.ts.map +1 -0
  275. package/dist/utils/run-command.js +127 -0
  276. package/dist/utils/run-command.js.map +1 -0
  277. package/dist/utils.d.ts +1 -1
  278. package/dist/utils.d.ts.map +1 -1
  279. package/dist/utils.js +6 -4
  280. package/dist/utils.js.map +1 -1
  281. package/package.json +13 -8
  282. package/src/apis/toast.tsx +38 -17
  283. package/src/build.tsx +5 -3
  284. package/src/cli.tsx +46 -0
  285. package/src/colors.tsx +22 -1
  286. package/src/compile.tsx +219 -0
  287. package/src/components/actions.tsx +7 -1
  288. package/src/components/command-arguments.tsx +81 -0
  289. package/src/components/detail.tsx +26 -58
  290. package/src/components/dropdown.tsx +108 -23
  291. package/src/components/extension-preferences.tsx +55 -35
  292. package/src/components/form/checkbox.tsx +13 -5
  293. package/src/components/form/date-picker.tsx +24 -29
  294. package/src/components/form/description.tsx +35 -7
  295. package/src/components/form/dropdown.tsx +16 -30
  296. package/src/components/form/file-autocomplete.tsx +87 -77
  297. package/src/components/form/file-picker.tsx +69 -57
  298. package/src/components/form/form-ref.tsx +68 -0
  299. package/src/components/form/index.tsx +152 -41
  300. package/src/components/form/password-field.tsx +35 -22
  301. package/src/components/form/text-area.tsx +78 -58
  302. package/src/components/form/text-field.tsx +82 -61
  303. package/src/components/form/use-form-navigation.tsx +43 -23
  304. package/src/components/form/with-left-border.tsx +2 -1
  305. package/src/components/icon.tsx +497 -469
  306. package/src/components/list.tsx +279 -112
  307. package/src/components/loading-bar.tsx +1 -1
  308. package/src/descendants.tsx +15 -5
  309. package/src/e2e-node.tsx +16 -0
  310. package/src/examples/action-show-in-finder.tsx +1 -1
  311. package/src/examples/environment-test.tsx +1 -1
  312. package/src/examples/error-boundary.tsx +1 -1
  313. package/src/examples/file-autocomplete.vitest.tsx +245 -0
  314. package/src/examples/form-basic.tsx +12 -12
  315. package/src/examples/form-basic.vitest.tsx +297 -671
  316. package/src/examples/form-dropdown.tsx +1 -1
  317. package/src/examples/form-dropdown.vitest.tsx +353 -221
  318. package/src/examples/form-scroll.tsx +56 -0
  319. package/src/examples/form-scroll.vitest.tsx +228 -0
  320. package/src/examples/form-tagpicker.tsx +1 -1
  321. package/src/examples/form-tagpicker.vitest.tsx +438 -193
  322. package/src/examples/internal/descendants-filtering.tsx +13 -5
  323. package/src/examples/internal/descendants.tsx +17 -5
  324. package/src/examples/internal/rhf-custom-ref.tsx +152 -0
  325. package/src/examples/internal/scrollbox-demo.tsx +15 -7
  326. package/src/examples/internal/scrollbox-with-descendants.tsx +94 -0
  327. package/src/examples/internal/simple-dialog.tsx +1 -1
  328. package/src/examples/internal/simple-scrollbox.tsx +58 -0
  329. package/src/examples/internal/simple-scrollbox.vitest.tsx +104 -0
  330. package/src/examples/internal/text-stacking.tsx +4 -2
  331. package/src/examples/list-dropdown-default.tsx +1 -1
  332. package/src/examples/list-dropdown-default.vitest.tsx +136 -71
  333. package/src/examples/list-fetch-data.tsx +1 -1
  334. package/src/examples/list-fetch-data.vitest.tsx +42 -33
  335. package/src/examples/list-scrollbox.tsx +46 -0
  336. package/src/examples/list-scrollbox.vitest.tsx +103 -0
  337. package/src/examples/list-with-detail.tsx +1 -1
  338. package/src/examples/list-with-detail.vitest.tsx +290 -294
  339. package/src/examples/list-with-dropdown.tsx +1 -1
  340. package/src/examples/list-with-dropdown.vitest.tsx +190 -150
  341. package/src/examples/list-with-sections.tsx +12 -1
  342. package/src/examples/list-with-sections.vitest.tsx +390 -218
  343. package/src/examples/miscellaneous.tsx +1 -1
  344. package/src/examples/nested-navigation.tsx +7 -5
  345. package/src/examples/preferences-test.tsx +1 -1
  346. package/src/examples/simple-dropdown.tsx +1 -1
  347. package/src/examples/simple-file-picker.tsx +1 -1
  348. package/src/examples/simple-file-picker.vitest.tsx +533 -127
  349. package/src/examples/simple-grid.tsx +1 -1
  350. package/src/examples/simple-grid.vitest.tsx +258 -234
  351. package/src/examples/simple-hud.tsx +1 -1
  352. package/src/examples/simple-list-search.tsx +42 -1
  353. package/src/examples/simple-list.tsx +1 -1
  354. package/src/examples/simple-navigation.tsx +7 -5
  355. package/src/examples/simple-navigation.vitest.tsx +434 -238
  356. package/src/examples/store.tsx +1 -1
  357. package/src/examples/store.vitest.tsx +31 -14
  358. package/src/examples/submodule-diff.tsx +153 -0
  359. package/src/examples/tanstack-demo.tsx +1 -1
  360. package/src/examples/use-promise-demo.tsx +1 -1
  361. package/src/extensions/dev.tsx +76 -38
  362. package/src/extensions/dev.vitest.tsx +220 -0
  363. package/src/extensions/home.tsx +20 -121
  364. package/src/globals.ts +1 -1
  365. package/src/index.tsx +12 -25
  366. package/src/internal/date-picker-widget.tsx +56 -46
  367. package/src/internal/dialog.tsx +6 -6
  368. package/src/internal/providers.tsx +1 -1
  369. package/src/internal/scrollbox.tsx +63 -0
  370. package/src/release.tsx +159 -0
  371. package/src/state.tsx +2 -0
  372. package/src/store-api/search.test.tsx +4 -13
  373. package/src/theme.tsx +33 -8
  374. package/src/utils/run-command.tsx +204 -0
  375. package/src/utils.tsx +6 -4
  376. package/dist/ai.d.ts +0 -104
  377. package/dist/ai.d.ts.map +0 -1
  378. package/dist/ai.js +0 -135
  379. package/dist/ai.js.map +0 -1
  380. package/dist/apis/cache.test.d.ts +0 -2
  381. package/dist/apis/cache.test.d.ts.map +0 -1
  382. package/dist/apis/cache.test.js +0 -246
  383. package/dist/apis/cache.test.js.map +0 -1
  384. package/dist/apis/localstorage.test.d.ts +0 -2
  385. package/dist/apis/localstorage.test.d.ts.map +0 -1
  386. package/dist/apis/localstorage.test.js +0 -131
  387. package/dist/apis/localstorage.test.js.map +0 -1
  388. package/dist/apis/toast.test.d.ts +0 -2
  389. package/dist/apis/toast.test.d.ts.map +0 -1
  390. package/dist/apis/toast.test.js +0 -67
  391. package/dist/apis/toast.test.js.map +0 -1
  392. package/dist/build.test.d.ts +0 -2
  393. package/dist/build.test.d.ts.map +0 -1
  394. package/dist/build.test.js +0 -73
  395. package/dist/build.test.js.map +0 -1
  396. package/dist/cache.d.ts +0 -32
  397. package/dist/cache.d.ts.map +0 -1
  398. package/dist/cache.js +0 -205
  399. package/dist/cache.js.map +0 -1
  400. package/dist/cache.test.d.ts +0 -2
  401. package/dist/cache.test.d.ts.map +0 -1
  402. package/dist/cache.test.js +0 -246
  403. package/dist/cache.test.js.map +0 -1
  404. package/dist/clipboard.d.ts +0 -36
  405. package/dist/clipboard.d.ts.map +0 -1
  406. package/dist/clipboard.js +0 -154
  407. package/dist/clipboard.js.map +0 -1
  408. package/dist/components/form/form-type-only.d.ts +0 -174
  409. package/dist/components/form/form-type-only.d.ts.map +0 -1
  410. package/dist/components/form/form-type-only.js +0 -2
  411. package/dist/components/form/form-type-only.js.map +0 -1
  412. package/dist/components/form/use-form-handling.d.ts +0 -4
  413. package/dist/components/form/use-form-handling.d.ts.map +0 -1
  414. package/dist/components/form/use-form-handling.js +0 -37
  415. package/dist/components/form/use-form-handling.js.map +0 -1
  416. package/dist/dev-ui.d.ts +0 -7
  417. package/dist/dev-ui.d.ts.map +0 -1
  418. package/dist/dev-ui.js +0 -118
  419. package/dist/dev-ui.js.map +0 -1
  420. package/dist/environment.d.ts +0 -63
  421. package/dist/environment.d.ts.map +0 -1
  422. package/dist/environment.js +0 -189
  423. package/dist/environment.js.map +0 -1
  424. package/dist/examples/datepicker.d.ts +0 -2
  425. package/dist/examples/datepicker.d.ts.map +0 -1
  426. package/dist/examples/datepicker.js +0 -344
  427. package/dist/examples/datepicker.js.map +0 -1
  428. package/dist/examples/form-basic-arrow-keys.vitest.d.ts +0 -2
  429. package/dist/examples/form-basic-arrow-keys.vitest.d.ts.map +0 -1
  430. package/dist/examples/form-basic-arrow-keys.vitest.js +0 -46
  431. package/dist/examples/form-basic-arrow-keys.vitest.js.map +0 -1
  432. package/dist/examples/form-basic.vitest.d.ts +0 -2
  433. package/dist/examples/form-basic.vitest.d.ts.map +0 -1
  434. package/dist/examples/form-basic.vitest.js +0 -995
  435. package/dist/examples/form-basic.vitest.js.map +0 -1
  436. package/dist/examples/form-dropdown-with-sections.d.ts +0 -2
  437. package/dist/examples/form-dropdown-with-sections.d.ts.map +0 -1
  438. package/dist/examples/form-dropdown-with-sections.js +0 -13
  439. package/dist/examples/form-dropdown-with-sections.js.map +0 -1
  440. package/dist/examples/form-dropdown-with-sections.vitest.d.ts +0 -2
  441. package/dist/examples/form-dropdown-with-sections.vitest.d.ts.map +0 -1
  442. package/dist/examples/form-dropdown-with-sections.vitest.js +0 -75
  443. package/dist/examples/form-dropdown-with-sections.vitest.js.map +0 -1
  444. package/dist/examples/form-dropdown.vitest.d.ts +0 -2
  445. package/dist/examples/form-dropdown.vitest.d.ts.map +0 -1
  446. package/dist/examples/form-dropdown.vitest.js +0 -722
  447. package/dist/examples/form-dropdown.vitest.js.map +0 -1
  448. package/dist/examples/form-multiselect-dropdown.d.ts +0 -2
  449. package/dist/examples/form-multiselect-dropdown.d.ts.map +0 -1
  450. package/dist/examples/form-multiselect-dropdown.js +0 -13
  451. package/dist/examples/form-multiselect-dropdown.js.map +0 -1
  452. package/dist/examples/form-tagpicker.vitest.d.ts +0 -2
  453. package/dist/examples/form-tagpicker.vitest.d.ts.map +0 -1
  454. package/dist/examples/form-tagpicker.vitest.js +0 -491
  455. package/dist/examples/form-tagpicker.vitest.js.map +0 -1
  456. package/dist/examples/internal/nested-boxes.d.ts +0 -2
  457. package/dist/examples/internal/nested-boxes.d.ts.map +0 -1
  458. package/dist/examples/internal/nested-boxes.js +0 -7
  459. package/dist/examples/internal/nested-boxes.js.map +0 -1
  460. package/dist/examples/internal/unicode-square-repro.d.ts +0 -2
  461. package/dist/examples/internal/unicode-square-repro.d.ts.map +0 -1
  462. package/dist/examples/internal/unicode-square-repro.js +0 -7
  463. package/dist/examples/internal/unicode-square-repro.js.map +0 -1
  464. package/dist/examples/list-dropdown-default.vitest.d.ts +0 -2
  465. package/dist/examples/list-dropdown-default.vitest.d.ts.map +0 -1
  466. package/dist/examples/list-dropdown-default.vitest.js +0 -164
  467. package/dist/examples/list-dropdown-default.vitest.js.map +0 -1
  468. package/dist/examples/list-fetch-data.vitest.d.ts +0 -2
  469. package/dist/examples/list-fetch-data.vitest.d.ts.map +0 -1
  470. package/dist/examples/list-fetch-data.vitest.js +0 -103
  471. package/dist/examples/list-fetch-data.vitest.js.map +0 -1
  472. package/dist/examples/list-filter-navigation.d.ts +0 -2
  473. package/dist/examples/list-filter-navigation.d.ts.map +0 -1
  474. package/dist/examples/list-filter-navigation.js +0 -8
  475. package/dist/examples/list-filter-navigation.js.map +0 -1
  476. package/dist/examples/list-with-detail.vitest.d.ts +0 -2
  477. package/dist/examples/list-with-detail.vitest.d.ts.map +0 -1
  478. package/dist/examples/list-with-detail.vitest.js +0 -438
  479. package/dist/examples/list-with-detail.vitest.js.map +0 -1
  480. package/dist/examples/list-with-dropdown.vitest.d.ts +0 -2
  481. package/dist/examples/list-with-dropdown.vitest.d.ts.map +0 -1
  482. package/dist/examples/list-with-dropdown.vitest.js +0 -297
  483. package/dist/examples/list-with-dropdown.vitest.js.map +0 -1
  484. package/dist/examples/list-with-sections.vitest.d.ts +0 -2
  485. package/dist/examples/list-with-sections.vitest.d.ts.map +0 -1
  486. package/dist/examples/list-with-sections.vitest.js +0 -441
  487. package/dist/examples/list-with-sections.vitest.js.map +0 -1
  488. package/dist/examples/simple-file-picker.vitest.d.ts +0 -2
  489. package/dist/examples/simple-file-picker.vitest.d.ts.map +0 -1
  490. package/dist/examples/simple-file-picker.vitest.js +0 -277
  491. package/dist/examples/simple-file-picker.vitest.js.map +0 -1
  492. package/dist/examples/simple-grid.vitest.d.ts +0 -2
  493. package/dist/examples/simple-grid.vitest.d.ts.map +0 -1
  494. package/dist/examples/simple-grid.vitest.js +0 -498
  495. package/dist/examples/simple-grid.vitest.js.map +0 -1
  496. package/dist/examples/simple-navigation.vitest.d.ts +0 -2
  497. package/dist/examples/simple-navigation.vitest.d.ts.map +0 -1
  498. package/dist/examples/simple-navigation.vitest.js +0 -522
  499. package/dist/examples/simple-navigation.vitest.js.map +0 -1
  500. package/dist/examples/store.vitest.d.ts +0 -2
  501. package/dist/examples/store.vitest.d.ts.map +0 -1
  502. package/dist/examples/store.vitest.js +0 -52
  503. package/dist/examples/store.vitest.js.map +0 -1
  504. package/dist/home-command.d.ts +0 -8
  505. package/dist/home-command.d.ts.map +0 -1
  506. package/dist/home-command.js +0 -181
  507. package/dist/home-command.js.map +0 -1
  508. package/dist/hooks/hooks.test.d.ts +0 -2
  509. package/dist/hooks/hooks.test.d.ts.map +0 -1
  510. package/dist/hooks/hooks.test.js +0 -37
  511. package/dist/hooks/hooks.test.js.map +0 -1
  512. package/dist/hover-repro.d.ts +0 -2
  513. package/dist/hover-repro.d.ts.map +0 -1
  514. package/dist/hover-repro.js +0 -20
  515. package/dist/hover-repro.js.map +0 -1
  516. package/dist/localstorage.d.ts +0 -13
  517. package/dist/localstorage.d.ts.map +0 -1
  518. package/dist/localstorage.js +0 -190
  519. package/dist/localstorage.js.map +0 -1
  520. package/dist/localstorage.test.d.ts +0 -2
  521. package/dist/localstorage.test.d.ts.map +0 -1
  522. package/dist/localstorage.test.js +0 -131
  523. package/dist/localstorage.test.js.map +0 -1
  524. package/dist/oauth.d.ts +0 -142
  525. package/dist/oauth.d.ts.map +0 -1
  526. package/dist/oauth.js +0 -551
  527. package/dist/oauth.js.map +0 -1
  528. package/dist/preferences.d.ts +0 -23
  529. package/dist/preferences.d.ts.map +0 -1
  530. package/dist/preferences.js +0 -105
  531. package/dist/preferences.js.map +0 -1
  532. package/dist/store-api/download.test.d.ts +0 -2
  533. package/dist/store-api/download.test.d.ts.map +0 -1
  534. package/dist/store-api/download.test.js +0 -36
  535. package/dist/store-api/download.test.js.map +0 -1
  536. package/dist/store-api/extension.test.d.ts +0 -2
  537. package/dist/store-api/extension.test.d.ts.map +0 -1
  538. package/dist/store-api/extension.test.js +0 -22
  539. package/dist/store-api/extension.test.js.map +0 -1
  540. package/dist/store-api/search.test.d.ts +0 -2
  541. package/dist/store-api/search.test.d.ts.map +0 -1
  542. package/dist/store-api/search.test.js +0 -45
  543. package/dist/store-api/search.test.js.map +0 -1
  544. package/dist/store.d.ts +0 -21
  545. package/dist/store.d.ts.map +0 -1
  546. package/dist/store.js +0 -84
  547. package/dist/store.js.map +0 -1
  548. package/dist/toast.d.ts +0 -44
  549. package/dist/toast.d.ts.map +0 -1
  550. package/dist/toast.js +0 -221
  551. package/dist/toast.js.map +0 -1
  552. package/dist/utils.test.d.ts +0 -2
  553. package/dist/utils.test.d.ts.map +0 -1
  554. package/dist/utils.test.js +0 -152
  555. package/dist/utils.test.js.map +0 -1
  556. package/dist/window.d.ts +0 -12
  557. package/dist/window.d.ts.map +0 -1
  558. package/dist/window.js +0 -48
  559. package/dist/window.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../src/environment.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,GAAG,OAAO,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAA;IAC5C,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,OAAO,CAAA;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAA;IAC5B,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAA;IAC5B,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;CACxB;AAED,oBAAY,UAAU;IACpB,aAAa,kBAAkB;IAC/B,UAAU,eAAe;CAC1B;AAED,MAAM,WAAW,WAAW,CAC1B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAEnD,SAAS,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;CACvC;AAED,cAAM,eAAgB,YAAW,WAAW;;IAM1C,IAAI,UAAU,IAAI,MAAM,GAAG,OAAO,CAcjC;IAED,IAAI,UAAU,IAAI,MAAM,CAOvB;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,GAAG,UAAU,CAWjD;IAED,IAAI,WAAW,IAAI,MAAM,CAMxB;IAED,IAAI,aAAa,IAAI,MAAM,CAS1B;IAED,IAAI,aAAa,IAAI,OAAO,CAI3B;IAED,IAAI,UAAU,IAAI,UAAU,CAG3B;IAED,IAAI,iBAAiB,IAAI,MAAM,CAU9B;IAED,IAAI,cAAc,IAAI,MAAM,CAG3B;IAED,IAAI,WAAW,IAAI,MAAM,CAexB;IAED,IAAI,QAAQ,IAAI,QAAQ,GAAG,OAAO,CAGjC;IAGD,IAAI,KAAK,IAAI,MAAM,GAAG,OAAO,CAE5B;IAED,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO;CAK7B;AAED,eAAO,MAAM,WAAW,iBAAwB,CAAA;AAEhD,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CA6BhE;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CA4BvD"}
@@ -1,189 +0,0 @@
1
- /**
2
- * Environment API - Provides access to environment information and context
3
- *
4
- * Raycast Docs: https://developers.raycast.com/api-reference/environment
5
- *
6
- * The environment object provides information about the command's runtime context,
7
- * including theme settings, development mode, launch type, and paths. LaunchType enum
8
- * indicates whether the command was triggered by user action or background process.
9
- *
10
- * Key features:
11
- * - Access to appearance/theme (dark/light)
12
- * - Extension and command metadata
13
- * - Launch context (user-initiated vs background)
14
- * - Support and assets paths for file storage
15
- * - System integration (selected Finder items, selected text)
16
- */
17
- import os from 'node:os';
18
- import path from 'node:path';
19
- import fs from 'node:fs';
20
- import { execSync } from 'node:child_process';
21
- import { useStore } from './state';
22
- export var LaunchType;
23
- (function (LaunchType) {
24
- LaunchType["UserInitiated"] = "userInitiated";
25
- LaunchType["Background"] = "background";
26
- })(LaunchType || (LaunchType = {}));
27
- class EnvironmentImpl {
28
- constructor() {
29
- // Bind all methods to this instance
30
- this.canAccess = this.canAccess.bind(this);
31
- }
32
- get appearance() {
33
- // Try to detect system theme on macOS
34
- if (process.platform === 'darwin') {
35
- try {
36
- const result = execSync('defaults read -g AppleInterfaceStyle 2>/dev/null', { encoding: 'utf8' });
37
- return result.includes('Dark') ? 'dark' : 'light';
38
- }
39
- catch {
40
- return 'light';
41
- }
42
- }
43
- return 'light';
44
- }
45
- get assetsPath() {
46
- const state = useStore.getState();
47
- if (state.extensionPath) {
48
- return path.join(state.extensionPath, 'assets');
49
- }
50
- // TODO: Fallback for non-dev mode extensions
51
- return path.join(os.homedir(), '.termcast', 'assets');
52
- }
53
- get commandMode() {
54
- const state = useStore.getState();
55
- if (state.currentCommandName && state.extensionPackageJson?.commands) {
56
- const command = state.extensionPackageJson.commands.find((cmd) => cmd.name === state.currentCommandName);
57
- if (command) {
58
- return command.mode;
59
- }
60
- }
61
- return 'view';
62
- }
63
- get commandName() {
64
- const state = useStore.getState();
65
- if (state.currentCommandName) {
66
- return state.currentCommandName;
67
- }
68
- return '';
69
- }
70
- get extensionName() {
71
- const state = useStore.getState();
72
- if (state.extensionPackageJson?.name) {
73
- return state.extensionPackageJson.name;
74
- }
75
- if (state.extensionPath) {
76
- return path.basename(state.extensionPath);
77
- }
78
- return '';
79
- }
80
- get isDevelopment() {
81
- const state = useStore.getState();
82
- // We're in development mode if devElement is set
83
- return state.devElement !== null;
84
- }
85
- get launchType() {
86
- // TODO: Support background commands when implemented
87
- return LaunchType.UserInitiated;
88
- }
89
- get ownerOrAuthorName() {
90
- const state = useStore.getState();
91
- const pkg = state.extensionPackageJson;
92
- if (pkg?.author) {
93
- return pkg.author;
94
- }
95
- if (pkg?.owner) {
96
- return pkg.owner;
97
- }
98
- return '';
99
- }
100
- get raycastVersion() {
101
- // Return a version that indicates termcast compatibility
102
- return '1.0.0-termcast';
103
- }
104
- get supportPath() {
105
- // Create a support directory in the user's data directory
106
- const baseDir = path.join(os.homedir(), '.termcast', 'support', this.extensionName);
107
- // Ensure the directory exists
108
- if (!fs.existsSync(baseDir)) {
109
- fs.mkdirSync(baseDir, { recursive: true });
110
- }
111
- return baseDir;
112
- }
113
- get textSize() {
114
- // TODO: Make this configurable via preferences
115
- return 'medium';
116
- }
117
- // Alias for appearance to match Raycast API
118
- get theme() {
119
- return this.appearance;
120
- }
121
- canAccess(api) {
122
- // In termcast, all APIs are accessible
123
- // This method exists for Raycast compatibility
124
- return true;
125
- }
126
- }
127
- export const environment = new EnvironmentImpl();
128
- export async function getSelectedFinderItems() {
129
- // TODO: Improve cross-platform support
130
- // Currently only works on macOS using AppleScript
131
- // Should add support for:
132
- // 1. Windows Explorer selection (via PowerShell or COM)
133
- // 2. Linux file managers (Nautilus, Dolphin, etc.)
134
- if (process.platform === 'darwin') {
135
- try {
136
- // Use AppleScript to get selected Finder items
137
- const script = `
138
- tell application "Finder"
139
- set theSelection to selection
140
- set thePaths to {}
141
- repeat with theItem in theSelection
142
- set end of thePaths to POSIX path of (theItem as alias)
143
- end repeat
144
- return thePaths
145
- end tell
146
- `;
147
- const result = execSync(`osascript -e '${script}'`, {
148
- encoding: 'utf8',
149
- });
150
- return result.trim().split(', ').filter(Boolean);
151
- }
152
- catch {
153
- return [];
154
- }
155
- }
156
- // TODO: Implement for other platforms
157
- return [];
158
- }
159
- export async function getSelectedText() {
160
- // TODO: Improve implementation and cross-platform support
161
- // Current implementation has issues:
162
- // 1. Modifies the clipboard (should preserve original content)
163
- // 2. Uses delay which may not be reliable
164
- // 3. Only works on macOS
165
- // Should add support for Windows and Linux
166
- if (process.platform === 'darwin') {
167
- try {
168
- // TODO: Save and restore clipboard contents to avoid side effects
169
- // Use AppleScript to get selected text from frontmost application
170
- const script = `
171
- tell application "System Events"
172
- keystroke "c" using command down
173
- delay 0.1
174
- return (the clipboard)
175
- end tell
176
- `;
177
- const result = execSync(`osascript -e '${script}'`, {
178
- encoding: 'utf8',
179
- });
180
- return result.trim();
181
- }
182
- catch {
183
- return '';
184
- }
185
- }
186
- // TODO: Implement for Windows (via PowerShell) and Linux (xclip/xsel)
187
- return '';
188
- }
189
- //# sourceMappingURL=environment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=datepicker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"datepicker.d.ts","sourceRoot":"","sources":["../../src/examples/datepicker.tsx"],"names":[],"mappings":""}
@@ -1,344 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
2
- import { render, useKeyboard } from '@opentui/react'; // renderer & hooks per docs
3
- import { useMemo, useState, useRef } from 'react';
4
- const MONTHS = [
5
- 'January',
6
- 'February',
7
- 'March',
8
- 'April',
9
- 'May',
10
- 'June',
11
- 'July',
12
- 'August',
13
- 'September',
14
- 'October',
15
- 'November',
16
- 'December',
17
- ];
18
- function daysInMonth(y, m) {
19
- return new Date(y, m + 1, 0).getDate();
20
- }
21
- function startOfMonth(d) {
22
- return new Date(d.getFullYear(), d.getMonth(), 1);
23
- }
24
- function sameDay(a, b) {
25
- return (a.getFullYear() === b.getFullYear() &&
26
- a.getMonth() === b.getMonth() &&
27
- a.getDate() === b.getDate());
28
- }
29
- function addDays(d, delta) {
30
- const nd = new Date(d);
31
- nd.setDate(nd.getDate() + delta);
32
- return nd;
33
- }
34
- function clampDay(y, m, day) {
35
- return Math.min(day, daysInMonth(y, m));
36
- }
37
- function generateSixWeekGrid(viewDate, weekStartsOnMonday = true) {
38
- // Strategy: 7x6 grid, include prev/next month days to fill 42 cells
39
- const first = startOfMonth(viewDate);
40
- const firstWeekday = first.getDay(); // 0=Sun..6=Sat
41
- // For Monday start: Mon=0, Tue=1, ..., Sun=6
42
- const offset = weekStartsOnMonday ? (firstWeekday + 6) % 7 : firstWeekday;
43
- const grid = [];
44
- const start = addDays(first, -offset);
45
- for (let w = 0; w < 6; w++) {
46
- const row = [];
47
- for (let i = 0; i < 7; i++)
48
- row.push(addDays(start, w * 7 + i));
49
- grid.push(row);
50
- }
51
- return grid;
52
- }
53
- // ----- Component -----
54
- function DatePicker({ enableColors = true, initialValue, onChange }) {
55
- const today = useMemo(() => new Date(), []);
56
- const [focus, setFocus] = useState('grid'); // can be "year" | "month" | "grid"
57
- const [selected, setSelected] = useState(initialValue || new Date()); // focused day
58
- const [visible, setVisible] = useState(startOfMonth(initialValue || new Date())); // month being shown
59
- const [searchQuery, setSearchQuery] = useState(''); // for type-to-search
60
- const searchTimeoutRef = useRef(null);
61
- // Recompute 7x6 grid for the visible month (Monday start)
62
- const weeks = useMemo(() => generateSixWeekGrid(visible, true), [visible]);
63
- // Keep visible month synced when selected day moves across months
64
- function ensureVisibleFor(date) {
65
- const m = new Date(date.getFullYear(), date.getMonth(), 1);
66
- const keyA = visible.getFullYear() * 12 + visible.getMonth();
67
- const keyB = m.getFullYear() * 12 + m.getMonth();
68
- if (keyA !== keyB)
69
- setVisible(m);
70
- }
71
- function changeMonth(delta) {
72
- const y = visible.getFullYear();
73
- const m = visible.getMonth() + delta;
74
- const newY = y + Math.floor(m / 12);
75
- const newM = ((m % 12) + 12) % 12;
76
- const day = clampDay(newY, newM, selected.getDate());
77
- const newSel = new Date(newY, newM, day);
78
- setVisible(new Date(newY, newM, 1));
79
- setSelected(newSel);
80
- }
81
- function changeYear(delta) {
82
- const y = visible.getFullYear() + delta;
83
- const m = visible.getMonth();
84
- const day = clampDay(y, m, selected.getDate());
85
- const newSel = new Date(y, m, day);
86
- setVisible(new Date(y, m, 1));
87
- setSelected(newSel);
88
- }
89
- // Generate years list for search
90
- const years = useMemo(() => {
91
- const yearList = [];
92
- for (let y = 1800; y <= 2200; y++) {
93
- yearList.push(y);
94
- }
95
- return yearList;
96
- }, []);
97
- // Search functionality
98
- function searchYear(query) {
99
- const matches = years.filter((y) => y.toString().startsWith(query));
100
- if (matches.length > 0) {
101
- const newY = matches[0];
102
- const m = visible.getMonth();
103
- const day = clampDay(newY, m, selected.getDate());
104
- const newSel = new Date(newY, m, day);
105
- setVisible(new Date(newY, m, 1));
106
- setSelected(newSel);
107
- }
108
- }
109
- function searchMonth(query) {
110
- // Search by month name or number
111
- const lowerQuery = query.toLowerCase();
112
- let monthIndex = -1;
113
- // Try to match month name
114
- for (let i = 0; i < MONTHS.length; i++) {
115
- if (MONTHS[i].toLowerCase().startsWith(lowerQuery)) {
116
- monthIndex = i;
117
- break;
118
- }
119
- }
120
- // Try to match month number
121
- if (monthIndex === -1) {
122
- const num = parseInt(query);
123
- if (!isNaN(num) && num >= 1 && num <= 12) {
124
- monthIndex = num - 1;
125
- }
126
- }
127
- if (monthIndex !== -1) {
128
- const y = visible.getFullYear();
129
- const day = clampDay(y, monthIndex, selected.getDate());
130
- const newSel = new Date(y, monthIndex, day);
131
- setVisible(new Date(y, monthIndex, 1));
132
- setSelected(newSel);
133
- }
134
- }
135
- function searchDay(query) {
136
- const day = parseInt(query);
137
- if (!isNaN(day) && day >= 1 && day <= 31) {
138
- const y = visible.getFullYear();
139
- const m = visible.getMonth();
140
- const clampedDay = clampDay(y, m, day);
141
- const newSel = new Date(y, m, clampedDay);
142
- setSelected(newSel);
143
- }
144
- }
145
- // Keyboard interactions
146
- useKeyboard((key) => {
147
- // Handle type-to-search
148
- if (key.name.length === 1 && /[0-9a-zA-Z]/.test(key.name)) {
149
- const newQuery = searchQuery + key.name;
150
- setSearchQuery(newQuery);
151
- // Clear previous timeout
152
- if (searchTimeoutRef.current) {
153
- clearTimeout(searchTimeoutRef.current);
154
- }
155
- // Perform search based on current focus
156
- if (focus === 'year') {
157
- searchYear(newQuery);
158
- }
159
- else if (focus === 'month') {
160
- searchMonth(newQuery);
161
- }
162
- else if (focus === 'grid') {
163
- searchDay(newQuery);
164
- }
165
- // Reset search query after 1 second
166
- searchTimeoutRef.current = setTimeout(() => {
167
- setSearchQuery('');
168
- }, 1000);
169
- return;
170
- }
171
- switch (key.name) {
172
- case 'left':
173
- if (focus === 'grid') {
174
- const next = addDays(selected, -1);
175
- setSelected(next);
176
- ensureVisibleFor(next);
177
- }
178
- else if (focus === 'month') {
179
- changeMonth(-1);
180
- }
181
- else if (focus === 'year') {
182
- changeYear(-1);
183
- }
184
- break;
185
- case 'right':
186
- if (focus === 'grid') {
187
- const next = addDays(selected, +1);
188
- setSelected(next);
189
- ensureVisibleFor(next);
190
- }
191
- else if (focus === 'month') {
192
- changeMonth(+1);
193
- }
194
- else if (focus === 'year') {
195
- changeYear(+1);
196
- }
197
- break;
198
- case 'up':
199
- if (focus === 'grid') {
200
- // Check if we're in the first row of the month
201
- const firstDayOfMonth = new Date(selected.getFullYear(), selected.getMonth(), 1);
202
- const daysDiff = selected.getDate() - 1;
203
- if (daysDiff < 7) {
204
- // Move focus to month
205
- setFocus('month');
206
- }
207
- else {
208
- const next = addDays(selected, -7);
209
- setSelected(next);
210
- ensureVisibleFor(next);
211
- }
212
- }
213
- else if (focus === 'month') {
214
- // Move focus to year
215
- setFocus('year');
216
- }
217
- else if (focus === 'year') {
218
- // Stay on year
219
- }
220
- break;
221
- case 'down':
222
- if (focus === 'grid') {
223
- const next = addDays(selected, +7);
224
- setSelected(next);
225
- ensureVisibleFor(next);
226
- }
227
- else if (focus === 'year') {
228
- // Move focus to month
229
- setFocus('month');
230
- }
231
- else if (focus === 'month') {
232
- // Move focus to grid
233
- setFocus('grid');
234
- }
235
- break;
236
- case 'tab':
237
- if (key.shift) {
238
- // Shift+Tab: Move focus up (grid -> month -> year)
239
- setFocus((f) => f === 'grid'
240
- ? 'month'
241
- : f === 'month'
242
- ? 'year'
243
- : 'year');
244
- }
245
- else {
246
- // Tab: Move focus down (year -> month -> grid)
247
- setFocus((f) => f === 'year'
248
- ? 'month'
249
- : f === 'month'
250
- ? 'grid'
251
- : 'grid');
252
- }
253
- break;
254
- case 'return': // Enter key
255
- if (focus === 'grid' && onChange) {
256
- onChange(selected);
257
- }
258
- break;
259
- default:
260
- break;
261
- }
262
- });
263
- const y = visible.getFullYear();
264
- const m = visible.getMonth();
265
- const headerWidth = 21; // Match form.md width (7 cols * 3 width)
266
- const cellStyle = {
267
- width: 3,
268
- height: 1,
269
- alignItems: 'center',
270
- justifyContent: 'center',
271
- };
272
- // Only show days from current month
273
- const filteredWeeks = weeks.map((row) => row.map((d) => (d.getMonth() === m ? d : null)));
274
- // Week starts Monday: Mo Tu We Th Fr Sa Su
275
- const weekdayHeaders = ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'];
276
- return (_jsxs("box", { style: {
277
- flexDirection: 'column',
278
- alignItems: 'center',
279
- padding: 1,
280
- }, children: [_jsx("box", { style: {
281
- width: headerWidth,
282
- height: 1,
283
- backgroundColor: enableColors && focus === 'year'
284
- ? '#1e40af'
285
- : undefined,
286
- marginBottom: 0,
287
- }, onMouseDown: () => setFocus('year'), children: _jsxs("box", { style: {
288
- flexDirection: 'row',
289
- justifyContent: 'space-between',
290
- alignItems: 'center',
291
- width: headerWidth,
292
- }, children: [_jsx("text", { fg: focus === 'year' ? '#FFFFFF' : '#666666', children: "\u2190" }), _jsx("text", { fg: focus === 'year' ? '#FFFFFF' : '#666666', children: String(y) }), _jsx("text", { fg: focus === 'year' ? '#FFFFFF' : '#666666', children: "\u2192" })] }) }), _jsx("box", { style: {
293
- width: headerWidth,
294
- height: 1,
295
- backgroundColor: enableColors && focus === 'month'
296
- ? '#1e40af'
297
- : undefined,
298
- marginBottom: 1,
299
- }, onMouseDown: () => setFocus('month'), children: _jsxs("box", { style: {
300
- flexDirection: 'row',
301
- justifyContent: 'space-between',
302
- alignItems: 'center',
303
- width: headerWidth,
304
- }, children: [_jsx("text", { fg: focus === 'month' ? '#FFFFFF' : '#666666', children: "\u2190" }), _jsx("text", { fg: focus === 'month' ? '#FFFFFF' : '#666666', children: MONTHS[m] }), _jsx("text", { fg: focus === 'month' ? '#FFFFFF' : '#666666', children: "\u2192" })] }) }), _jsx("box", { style: {
305
- flexDirection: 'row',
306
- width: headerWidth,
307
- justifyContent: 'space-between',
308
- marginBottom: 0,
309
- }, children: weekdayHeaders.map((wd, idx) => (_jsx("box", { style: cellStyle, children: _jsx("text", { fg: enableColors && (idx === 5 || idx === 6)
310
- ? '#dc2626'
311
- : '#4b5563', children: wd }) }, wd))) }), _jsx("box", { style: { flexDirection: 'column' }, children: filteredWeeks.map((row, i) => {
312
- // Skip empty rows
313
- if (row.every((d) => d === null))
314
- return null;
315
- return (_jsx("box", { style: { flexDirection: 'row' }, children: row.map((d, j) => {
316
- if (d === null) {
317
- return (_jsx("box", { style: cellStyle, children: _jsx("text", { children: " " }) }, `${i}-${j}`));
318
- }
319
- const isSel = sameDay(d, selected);
320
- const isToday = sameDay(d, today);
321
- return (_jsx("box", { style: {
322
- ...cellStyle,
323
- backgroundColor: enableColors &&
324
- isSel &&
325
- focus === 'grid'
326
- ? '#2563eb'
327
- : undefined,
328
- }, onMouseDown: () => {
329
- setSelected(d);
330
- setFocus('grid');
331
- ensureVisibleFor(d);
332
- }, children: _jsx("text", { fg: isSel && focus === 'grid'
333
- ? '#FFFFFF'
334
- : isToday && enableColors
335
- ? '#3b82f6'
336
- : enableColors &&
337
- (j === 5 || j === 6)
338
- ? '#dc2626'
339
- : '#111827', children: String(d.getDate()).padStart(2, ' ') }) }, `${i}-${j}`));
340
- }) }, i));
341
- }) })] }));
342
- }
343
- render(_jsx("box", { style: { paddingTop: 6 }, children: _jsx(DatePicker, { enableColors: true, initialValue: new Date(2028, 7, 15), onChange: (date) => console.log('Selected date:', date) }) }));
344
- //# sourceMappingURL=datepicker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"datepicker.js","sourceRoot":"","sources":["../../src/examples/datepicker.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=form-basic-arrow-keys.vitest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"form-basic-arrow-keys.vitest.d.ts","sourceRoot":"","sources":["../../src/examples/form-basic-arrow-keys.vitest.tsx"],"names":[],"mappings":""}
@@ -1,46 +0,0 @@
1
- // node-pty does not work in bun, so we use vitest to run this test
2
- import { test, expect, afterEach, beforeEach } from 'vitest';
3
- import { NodeTuiDriver } from '@termcast/cli/src/e2e-node';
4
- let driver;
5
- beforeEach(() => {
6
- driver = new NodeTuiDriver('bun', ['src/examples/form-basic.tsx'], {
7
- cols: 70,
8
- rows: 50,
9
- });
10
- });
11
- afterEach(() => {
12
- driver?.dispose();
13
- });
14
- test('form navigation with arrow keys and ctrl+k', async () => {
15
- await driver.text({
16
- waitFor: (text) => {
17
- // wait for form to show up
18
- return /Form Component Demo/i.test(text);
19
- },
20
- });
21
- // Type in username field
22
- await driver.keys.type('user1');
23
- // Navigate down with arrow key instead of tab
24
- await driver.keys.down();
25
- await driver.keys.type('pass123');
26
- const afterDownArrowSnapshot = await driver.text();
27
- expect(afterDownArrowSnapshot).toMatchInlineSnapshot();
28
- // Navigate up with arrow key
29
- await driver.keys.up();
30
- const afterUpArrowSnapshot = await driver.text();
31
- expect(afterUpArrowSnapshot).toMatchInlineSnapshot();
32
- // Test Ctrl+K to show actions
33
- await driver.keys.ctrlK();
34
- const actionsOpenSnapshot = await driver.text();
35
- expect(actionsOpenSnapshot).toMatchInlineSnapshot();
36
- // Select the submit action
37
- await driver.keys.enter();
38
- const afterSubmitWithCtrlKSnapshot = await driver.text({
39
- waitFor: (text) => {
40
- // wait for toast to show
41
- return /Form Submitted/i.test(text);
42
- },
43
- });
44
- expect(afterSubmitWithCtrlKSnapshot).toMatchInlineSnapshot();
45
- }, 10000);
46
- //# sourceMappingURL=form-basic-arrow-keys.vitest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"form-basic-arrow-keys.vitest.js","sourceRoot":"","sources":["../../src/examples/form-basic-arrow-keys.vitest.tsx"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,IAAI,MAAqB,CAAA;AAEzB,UAAU,CAAC,GAAG,EAAE;IACZ,MAAM,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC,6BAA6B,CAAC,EAAE;QAC/D,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,EAAE;KACX,CAAC,CAAA;AACN,CAAC,CAAC,CAAA;AAEF,SAAS,CAAC,GAAG,EAAE;IACX,MAAM,EAAE,OAAO,EAAE,CAAA;AACrB,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;IAC1D,MAAM,MAAM,CAAC,IAAI,CAAC;QACd,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACd,2BAA2B;YAC3B,OAAO,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5C,CAAC;KACJ,CAAC,CAAA;IAEF,yBAAyB;IACzB,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAE/B,8CAA8C;IAC9C,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IACxB,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAEjC,MAAM,sBAAsB,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IAClD,MAAM,CAAC,sBAAsB,CAAC,CAAC,qBAAqB,EAAE,CAAA;IAEtD,6BAA6B;IAC7B,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAA;IAEtB,MAAM,oBAAoB,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IAChD,MAAM,CAAC,oBAAoB,CAAC,CAAC,qBAAqB,EAAE,CAAA;IAEpD,8BAA8B;IAC9B,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IAEzB,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IAC/C,MAAM,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,EAAE,CAAA;IAEnD,2BAA2B;IAC3B,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IAEzB,MAAM,4BAA4B,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACnD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACd,yBAAyB;YACzB,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvC,CAAC;KACJ,CAAC,CAAA;IACF,MAAM,CAAC,4BAA4B,CAAC,CAAC,qBAAqB,EAAE,CAAA;AAChE,CAAC,EAAE,KAAK,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=form-basic.vitest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"form-basic.vitest.d.ts","sourceRoot":"","sources":["../../src/examples/form-basic.vitest.tsx"],"names":[],"mappings":""}