termcast 1.3.30 → 1.3.32

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 (294) hide show
  1. package/dist/apis/cache.d.ts.map +1 -1
  2. package/dist/apis/cache.js +4 -39
  3. package/dist/apis/cache.js.map +1 -1
  4. package/dist/apis/hud.d.ts.map +1 -1
  5. package/dist/apis/hud.js +13 -31
  6. package/dist/apis/hud.js.map +1 -1
  7. package/dist/apis/localstorage.d.ts.map +1 -1
  8. package/dist/apis/localstorage.js +3 -27
  9. package/dist/apis/localstorage.js.map +1 -1
  10. package/dist/apis/toast.d.ts +16 -43
  11. package/dist/apis/toast.d.ts.map +1 -1
  12. package/dist/apis/toast.js +78 -177
  13. package/dist/apis/toast.js.map +1 -1
  14. package/dist/build.d.ts +3 -1
  15. package/dist/build.d.ts.map +1 -1
  16. package/dist/build.js +52 -2
  17. package/dist/build.js.map +1 -1
  18. package/dist/cli.d.ts +1 -0
  19. package/dist/cli.d.ts.map +1 -1
  20. package/dist/cli.js +206 -25
  21. package/dist/cli.js.map +1 -1
  22. package/dist/colors.d.ts.map +1 -1
  23. package/dist/colors.js +1 -0
  24. package/dist/colors.js.map +1 -1
  25. package/dist/compile.d.ts +0 -1
  26. package/dist/compile.d.ts.map +1 -1
  27. package/dist/compile.js +18 -23
  28. package/dist/compile.js.map +1 -1
  29. package/dist/components/actions.d.ts.map +1 -1
  30. package/dist/components/actions.js +30 -15
  31. package/dist/components/actions.js.map +1 -1
  32. package/dist/components/animation-tick.d.ts +12 -0
  33. package/dist/components/animation-tick.d.ts.map +1 -0
  34. package/dist/components/animation-tick.js +63 -0
  35. package/dist/components/animation-tick.js.map +1 -0
  36. package/dist/components/detail.d.ts.map +1 -1
  37. package/dist/components/detail.js +10 -13
  38. package/dist/components/detail.js.map +1 -1
  39. package/dist/components/dropdown.d.ts +1 -0
  40. package/dist/components/dropdown.d.ts.map +1 -1
  41. package/dist/components/dropdown.js +27 -26
  42. package/dist/components/dropdown.js.map +1 -1
  43. package/dist/components/extension-preferences.d.ts.map +1 -1
  44. package/dist/components/extension-preferences.js +15 -10
  45. package/dist/components/extension-preferences.js.map +1 -1
  46. package/dist/components/footer.d.ts +13 -0
  47. package/dist/components/footer.d.ts.map +1 -0
  48. package/dist/components/footer.js +106 -0
  49. package/dist/components/footer.js.map +1 -0
  50. package/dist/components/form/file-autocomplete.d.ts +19 -4
  51. package/dist/components/form/file-autocomplete.d.ts.map +1 -1
  52. package/dist/components/form/file-autocomplete.js +56 -55
  53. package/dist/components/form/file-autocomplete.js.map +1 -1
  54. package/dist/components/form/file-picker.d.ts.map +1 -1
  55. package/dist/components/form/file-picker.js +26 -15
  56. package/dist/components/form/file-picker.js.map +1 -1
  57. package/dist/components/form/index.d.ts.map +1 -1
  58. package/dist/components/form/index.js +17 -15
  59. package/dist/components/form/index.js.map +1 -1
  60. package/dist/components/form/with-left-border.d.ts.map +1 -1
  61. package/dist/components/form/with-left-border.js +4 -12
  62. package/dist/components/form/with-left-border.js.map +1 -1
  63. package/dist/components/list.d.ts.map +1 -1
  64. package/dist/components/list.js +126 -86
  65. package/dist/components/list.js.map +1 -1
  66. package/dist/components/loading-bar.d.ts.map +1 -1
  67. package/dist/components/loading-bar.js +5 -22
  68. package/dist/components/loading-bar.js.map +1 -1
  69. package/dist/components/loading-text.d.ts.map +1 -1
  70. package/dist/components/loading-text.js +3 -22
  71. package/dist/components/loading-text.js.map +1 -1
  72. package/dist/components/theme-picker.d.ts +2 -0
  73. package/dist/components/theme-picker.d.ts.map +1 -0
  74. package/dist/components/theme-picker.js +37 -0
  75. package/dist/components/theme-picker.js.map +1 -0
  76. package/dist/descendants.d.ts +6 -0
  77. package/dist/descendants.d.ts.map +1 -1
  78. package/dist/descendants.js +74 -8
  79. package/dist/descendants.js.map +1 -1
  80. package/dist/examples/internal/descendants-rerender.d.ts +14 -0
  81. package/dist/examples/internal/descendants-rerender.d.ts.map +1 -0
  82. package/dist/examples/internal/descendants-rerender.js +145 -0
  83. package/dist/examples/internal/descendants-rerender.js.map +1 -0
  84. package/dist/examples/internal/simple-dialog.js +4 -1
  85. package/dist/examples/internal/simple-dialog.js.map +1 -1
  86. package/dist/examples/internal/simple-scrollbox.js +1 -1
  87. package/dist/examples/internal/simple-scrollbox.js.map +1 -1
  88. package/dist/examples/list-with-dropdown.js +1 -1
  89. package/dist/examples/list-with-dropdown.js.map +1 -1
  90. package/dist/examples/miscellaneous.js +1 -1
  91. package/dist/examples/miscellaneous.js.map +1 -1
  92. package/dist/examples/toast-action.d.ts +2 -0
  93. package/dist/examples/toast-action.d.ts.map +1 -0
  94. package/dist/examples/toast-action.js +76 -0
  95. package/dist/examples/toast-action.js.map +1 -0
  96. package/dist/examples/toast-variations.js +38 -36
  97. package/dist/examples/toast-variations.js.map +1 -1
  98. package/dist/extensions/dev.d.ts +1 -1
  99. package/dist/extensions/dev.d.ts.map +1 -1
  100. package/dist/extensions/dev.js +62 -30
  101. package/dist/extensions/dev.js.map +1 -1
  102. package/dist/extensions/home.d.ts.map +1 -1
  103. package/dist/extensions/home.js +4 -3
  104. package/dist/extensions/home.js.map +1 -1
  105. package/dist/extensions/react-refresh-init.d.ts +5 -0
  106. package/dist/extensions/react-refresh-init.d.ts.map +1 -0
  107. package/dist/extensions/react-refresh-init.js +52 -0
  108. package/dist/extensions/react-refresh-init.js.map +1 -0
  109. package/dist/internal/date-picker-widget.js +1 -1
  110. package/dist/internal/date-picker-widget.js.map +1 -1
  111. package/dist/internal/dialog.d.ts +8 -3
  112. package/dist/internal/dialog.d.ts.map +1 -1
  113. package/dist/internal/dialog.js +37 -53
  114. package/dist/internal/dialog.js.map +1 -1
  115. package/dist/internal/navigation.d.ts +1 -0
  116. package/dist/internal/navigation.d.ts.map +1 -1
  117. package/dist/internal/navigation.js +25 -1
  118. package/dist/internal/navigation.js.map +1 -1
  119. package/dist/internal/providers.d.ts.map +1 -1
  120. package/dist/internal/providers.js +9 -197
  121. package/dist/internal/providers.js.map +1 -1
  122. package/dist/internal/scrollbox.d.ts.map +1 -1
  123. package/dist/internal/scrollbox.js +1 -0
  124. package/dist/internal/scrollbox.js.map +1 -1
  125. package/dist/release.d.ts +1 -0
  126. package/dist/release.d.ts.map +1 -1
  127. package/dist/release.js +16 -9
  128. package/dist/release.js.map +1 -1
  129. package/dist/state.d.ts +27 -1
  130. package/dist/state.d.ts.map +1 -1
  131. package/dist/state.js +6 -0
  132. package/dist/state.js.map +1 -1
  133. package/dist/theme.d.ts +6 -19
  134. package/dist/theme.d.ts.map +1 -1
  135. package/dist/theme.js +76 -45
  136. package/dist/theme.js.map +1 -1
  137. package/dist/themes/aura.json +69 -0
  138. package/dist/themes/ayu.json +80 -0
  139. package/dist/themes/catppuccin-frappe.json +233 -0
  140. package/dist/themes/catppuccin-macchiato.json +233 -0
  141. package/dist/themes/catppuccin.json +112 -0
  142. package/dist/themes/cobalt2.json +228 -0
  143. package/dist/themes/cursor.json +249 -0
  144. package/dist/themes/dracula.json +219 -0
  145. package/dist/themes/everforest.json +241 -0
  146. package/dist/themes/flexoki.json +237 -0
  147. package/dist/themes/github-light.json +56 -0
  148. package/dist/themes/github.json +241 -0
  149. package/dist/themes/gruvbox.json +95 -0
  150. package/dist/themes/kanagawa.json +77 -0
  151. package/dist/themes/lucent-orng.json +227 -0
  152. package/dist/themes/material.json +235 -0
  153. package/dist/themes/matrix.json +77 -0
  154. package/dist/themes/mercury.json +245 -0
  155. package/dist/themes/monokai.json +221 -0
  156. package/dist/themes/nightowl.json +221 -0
  157. package/dist/themes/nord.json +223 -0
  158. package/dist/themes/one-dark.json +84 -0
  159. package/dist/themes/opencode-light.json +62 -0
  160. package/dist/themes/opencode.json +245 -0
  161. package/dist/themes/orng.json +245 -0
  162. package/dist/themes/palenight.json +222 -0
  163. package/dist/themes/rosepine.json +234 -0
  164. package/dist/themes/solarized.json +223 -0
  165. package/dist/themes/synthwave84.json +226 -0
  166. package/dist/themes/termcast.json +226 -0
  167. package/dist/themes/tokyonight.json +243 -0
  168. package/dist/themes/vercel.json +255 -0
  169. package/dist/themes/vesper.json +218 -0
  170. package/dist/themes/zenburn.json +223 -0
  171. package/dist/themes.d.ts +57 -0
  172. package/dist/themes.d.ts.map +1 -0
  173. package/dist/themes.js +181 -0
  174. package/dist/themes.js.map +1 -0
  175. package/dist/utils/run-command.d.ts +2 -1
  176. package/dist/utils/run-command.d.ts.map +1 -1
  177. package/dist/utils/run-command.js +20 -10
  178. package/dist/utils/run-command.js.map +1 -1
  179. package/dist/utils.d.ts +2 -1
  180. package/dist/utils.d.ts.map +1 -1
  181. package/dist/utils.js +90 -17
  182. package/dist/utils.js.map +1 -1
  183. package/dist/watcher.d.ts +3 -0
  184. package/dist/watcher.d.ts.map +1 -0
  185. package/dist/watcher.js +16 -0
  186. package/dist/watcher.js.map +1 -0
  187. package/package.json +16 -10
  188. package/src/apis/cache.tsx +5 -44
  189. package/src/apis/hud.tsx +17 -62
  190. package/src/apis/localstorage.tsx +3 -32
  191. package/src/apis/toast.tsx +91 -275
  192. package/src/build.test.tsx +10 -0
  193. package/src/build.tsx +61 -1
  194. package/src/cli.tsx +365 -103
  195. package/src/colors.tsx +1 -0
  196. package/src/compile.tsx +21 -29
  197. package/src/compile.vitest.tsx +300 -0
  198. package/src/components/actions.tsx +64 -45
  199. package/src/components/animation-tick.tsx +85 -0
  200. package/src/components/detail.tsx +31 -35
  201. package/src/components/dropdown.tsx +32 -21
  202. package/src/components/extension-preferences.tsx +14 -10
  203. package/src/components/footer.tsx +241 -0
  204. package/src/components/form/file-autocomplete.tsx +80 -60
  205. package/src/components/form/file-picker.tsx +37 -25
  206. package/src/components/form/index.tsx +45 -41
  207. package/src/components/form/with-left-border.tsx +4 -14
  208. package/src/components/list.tsx +181 -121
  209. package/src/components/loading-bar.tsx +5 -25
  210. package/src/components/loading-text.tsx +4 -23
  211. package/src/components/theme-picker.tsx +57 -0
  212. package/src/descendants.tsx +98 -9
  213. package/src/examples/actions-dialog-layout.vitest.tsx +112 -0
  214. package/src/examples/file-autocomplete.vitest.tsx +131 -122
  215. package/src/examples/form-basic.vitest.tsx +463 -644
  216. package/src/examples/form-dropdown.vitest.tsx +553 -571
  217. package/src/examples/form-scroll.vitest.tsx +112 -102
  218. package/src/examples/form-tagpicker.vitest.tsx +364 -338
  219. package/src/examples/internal/descendants-rerender.tsx +273 -0
  220. package/src/examples/internal/descendants-rerender.vitest.tsx +194 -0
  221. package/src/examples/internal/simple-dialog.tsx +4 -4
  222. package/src/examples/internal/simple-scrollbox.tsx +2 -2
  223. package/src/examples/internal/simple-scrollbox.vitest.tsx +43 -31
  224. package/src/examples/list-detail-metadata.vitest.tsx +34 -30
  225. package/src/examples/list-dropdown-default.vitest.tsx +84 -72
  226. package/src/examples/list-empty-view.vitest.tsx +93 -0
  227. package/src/examples/list-fetch-data.vitest.tsx +36 -30
  228. package/src/examples/list-scrollbox.vitest.tsx +59 -39
  229. package/src/examples/list-with-detail.vitest.tsx +339 -314
  230. package/src/examples/list-with-dropdown.tsx +1 -0
  231. package/src/examples/list-with-dropdown.vitest.tsx +176 -150
  232. package/src/examples/list-with-sections.vitest.tsx +289 -270
  233. package/src/examples/list-with-toast.vitest.tsx +44 -44
  234. package/src/examples/miscellaneous.tsx +10 -0
  235. package/src/examples/simple-file-picker.vitest.tsx +90 -86
  236. package/src/examples/simple-grid.vitest.tsx +275 -249
  237. package/src/examples/simple-navigation.vitest.tsx +192 -168
  238. package/src/examples/store.vitest.tsx +6 -4
  239. package/src/examples/swift-extension.vitest.tsx +31 -19
  240. package/src/examples/synonyms.vitest.tsx +93 -83
  241. package/src/examples/toast-action.tsx +160 -0
  242. package/src/examples/toast-action.vitest.tsx +404 -0
  243. package/src/examples/toast-variations.tsx +58 -57
  244. package/src/examples/toast-variations.vitest.tsx +186 -166
  245. package/src/extensions/dev.tsx +74 -33
  246. package/src/extensions/dev.vitest.tsx +162 -69
  247. package/src/extensions/home.tsx +5 -6
  248. package/src/extensions/react-refresh-init.tsx +59 -0
  249. package/src/internal/date-picker-widget.tsx +1 -1
  250. package/src/internal/dialog.tsx +59 -83
  251. package/src/internal/navigation.tsx +37 -4
  252. package/src/internal/providers.tsx +27 -315
  253. package/src/internal/scrollbox.tsx +1 -0
  254. package/src/release.tsx +16 -10
  255. package/src/state.tsx +36 -3
  256. package/src/theme.tsx +82 -51
  257. package/src/themes/aura.json +69 -0
  258. package/src/themes/ayu.json +80 -0
  259. package/src/themes/catppuccin-frappe.json +233 -0
  260. package/src/themes/catppuccin-macchiato.json +233 -0
  261. package/src/themes/catppuccin.json +112 -0
  262. package/src/themes/cobalt2.json +228 -0
  263. package/src/themes/cursor.json +249 -0
  264. package/src/themes/dracula.json +219 -0
  265. package/src/themes/everforest.json +241 -0
  266. package/src/themes/flexoki.json +237 -0
  267. package/src/themes/github-light.json +56 -0
  268. package/src/themes/github.json +241 -0
  269. package/src/themes/gruvbox.json +95 -0
  270. package/src/themes/kanagawa.json +77 -0
  271. package/src/themes/lucent-orng.json +227 -0
  272. package/src/themes/material.json +235 -0
  273. package/src/themes/matrix.json +77 -0
  274. package/src/themes/mercury.json +252 -0
  275. package/src/themes/monokai.json +221 -0
  276. package/src/themes/nightowl.json +221 -0
  277. package/src/themes/nord.json +223 -0
  278. package/src/themes/one-dark.json +84 -0
  279. package/src/themes/opencode-light.json +62 -0
  280. package/src/themes/opencode.json +245 -0
  281. package/src/themes/orng.json +245 -0
  282. package/src/themes/palenight.json +222 -0
  283. package/src/themes/rosepine.json +234 -0
  284. package/src/themes/solarized.json +223 -0
  285. package/src/themes/synthwave84.json +226 -0
  286. package/src/themes/termcast.json +227 -0
  287. package/src/themes/tokyonight.json +243 -0
  288. package/src/themes/vercel.json +255 -0
  289. package/src/themes/vesper.json +218 -0
  290. package/src/themes/zenburn.json +223 -0
  291. package/src/themes.ts +291 -0
  292. package/src/utils/run-command.tsx +23 -12
  293. package/src/utils.tsx +115 -18
  294. package/src/watcher.tsx +19 -0
@@ -16,6 +16,7 @@ function DrinkDropdown(props: {
16
16
  onDrinkTypeChange(newValue)
17
17
  }}
18
18
  >
19
+ <List.Dropdown.Item title='All' value='all' />
19
20
  <List.Dropdown.Section title='Alcoholic Beverages'>
20
21
  {drinkTypes
21
22
  .filter((dt) => ['beer', 'wine'].includes(dt.id))
@@ -21,68 +21,77 @@ test('list with dropdown navigation', async () => {
21
21
  waitFor: (text) => {
22
22
  return (
23
23
  /search beers/i.test(text) &&
24
- text.includes('Beer ▾') &&
24
+ text.includes('All ▾') &&
25
25
  text.includes('Augustiner Helles') &&
26
26
  text.includes('Apple Juice')
27
27
  )
28
28
  },
29
+ timeout: 10000,
29
30
  })
30
31
 
31
32
  expect(initialSnapshot).toMatchInlineSnapshot(`
32
33
  "
33
34
 
34
35
 
35
- Search Beers ───────────────────────────────────────────────────
36
+ Search Beers ───────────────────────────────────────────────────
36
37
 
37
38
 
38
- Search... Beer
39
+ > Search... All
39
40
 
40
- ›Augustiner Helles Beer
41
- Camden Hells Beer
42
- Leffe Blonde Beer
43
- Sierra Nevada IPA Beer
44
- Chateau Margaux Wine
45
- Pinot Noir Wine
46
- Coca Cola Soda
47
- Sprite Soda
48
- Orange Juice Juice
49
- Apple Juice Juice
41
+ ›Augustiner Helles Beer
42
+ Camden Hells Beer
43
+ Leffe Blonde Beer
44
+ Sierra Nevada IPA Beer
45
+ Chateau Margaux Wine
46
+ Pinot Noir Wine
47
+ Coca Cola Soda
48
+ Sprite Soda
49
+ Orange Juice Juice
50
+ Apple Juice Juice
50
51
 
51
52
 
53
+ ↑↓ navigate ^k actions
52
54
 
53
55
 
54
56
 
55
- ↑↓ navigate ^k actions"
57
+
58
+ "
56
59
  `)
57
60
 
58
61
  await session.press(['ctrl', 'p'])
59
62
 
60
- const immediatelyAfterCtrlPSnapshot = await session.text()
63
+ const immediatelyAfterCtrlPSnapshot = await session.text({
64
+ waitFor: (text) => {
65
+ return /select drink type/i.test(text)
66
+ },
67
+ })
61
68
  expect(immediatelyAfterCtrlPSnapshot).toMatchInlineSnapshot(`
62
69
  "
63
70
 
64
71
 
65
- Search Beers ───────────────────────────────────────────────────
66
-
67
- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
68
- ┃ ┃
69
- ┃ Select Drink Type esc ┃
70
- ┃ ┃
71
- ┃ Search... ┃
72
- ┃ ┃
73
- ┃ ┃
74
- Alcoholic Beverages
75
- ┃ ›Beer
76
- Wine
77
- ┃ ┃
78
- Non-Alcoholic
79
- Soda
80
- Juice
81
- ┃ ┃
82
- ┃ ┃
83
- ↵ select ↑↓ navigate
84
- ┃ ┃
85
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
72
+ Search Beers ───────────────────────────────────────────────────
73
+ ╭────────────────────────────────────────────────────────────────╮
74
+ │ │
75
+ │ Select Drink Type esc │
76
+ │ │
77
+ │ > Search... │
78
+ │ │
79
+ │ ›All │
80
+ │ │
81
+ Alcoholic Beverages
82
+ Beer
83
+ Wine
84
+ │ │
85
+ Non-Alcoholic
86
+ Soda
87
+ Juice
88
+ │ │
89
+ │ │
90
+ ↵ select ↑↓ navigate
91
+ │ │
92
+ ╰────────────────────────────────────────────────────────────────╯
93
+
94
+ "
86
95
  `)
87
96
 
88
97
  const afterCtrlPSnapshot = await session.text({
@@ -94,27 +103,29 @@ test('list with dropdown navigation', async () => {
94
103
  "
95
104
 
96
105
 
97
- Search Beers ───────────────────────────────────────────────────
98
-
99
- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
100
- ┃ ┃
101
- ┃ Select Drink Type esc ┃
102
- ┃ ┃
103
- ┃ Search... ┃
104
- ┃ ┃
105
- ┃ ┃
106
- Alcoholic Beverages
107
- ┃ ›Beer
108
- Wine
109
- ┃ ┃
110
- Non-Alcoholic
111
- Soda
112
- Juice
113
- ┃ ┃
114
- ┃ ┃
115
- ↵ select ↑↓ navigate
116
- ┃ ┃
117
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
106
+ Search Beers ───────────────────────────────────────────────────
107
+ ╭────────────────────────────────────────────────────────────────╮
108
+ │ │
109
+ │ Select Drink Type esc │
110
+ │ │
111
+ │ > Search... │
112
+ │ │
113
+ │ ›All │
114
+ │ │
115
+ Alcoholic Beverages
116
+ Beer
117
+ Wine
118
+ │ │
119
+ Non-Alcoholic
120
+ Soda
121
+ Juice
122
+ │ │
123
+ │ │
124
+ ↵ select ↑↓ navigate
125
+ │ │
126
+ ╰────────────────────────────────────────────────────────────────╯
127
+
128
+ "
118
129
  `)
119
130
 
120
131
  await session.press('down')
@@ -124,27 +135,29 @@ test('list with dropdown navigation', async () => {
124
135
  "
125
136
 
126
137
 
127
- Search Beers ───────────────────────────────────────────────────
128
-
129
- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
130
- ┃ ┃
131
- ┃ Select Drink Type esc ┃
132
- ┃ ┃
133
- ┃ Search... ┃
134
- ┃ ┃
135
- ┃ ┃
136
- Alcoholic Beverages
137
- Beer
138
- ┃ ›Wine
139
- ┃ ┃
140
- Non-Alcoholic
141
- Soda
142
- Juice
143
- ┃ ┃
144
- ┃ ┃
145
- ↵ select ↑↓ navigate
146
- ┃ ┃
147
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
138
+ Search Beers ───────────────────────────────────────────────────
139
+ ╭────────────────────────────────────────────────────────────────╮
140
+ │ │
141
+ │ Select Drink Type esc │
142
+ │ │
143
+ │ > Search... │
144
+ │ │
145
+ │ All │
146
+ │ │
147
+ Alcoholic Beverages
148
+ │ ›Beer
149
+ Wine
150
+ │ │
151
+ Non-Alcoholic
152
+ Soda
153
+ Juice
154
+ │ │
155
+ │ │
156
+ ↵ select ↑↓ navigate
157
+ │ │
158
+ ╰────────────────────────────────────────────────────────────────╯
159
+
160
+ "
148
161
  `)
149
162
 
150
163
  await session.press('down')
@@ -154,27 +167,29 @@ test('list with dropdown navigation', async () => {
154
167
  "
155
168
 
156
169
 
157
- Search Beers ───────────────────────────────────────────────────
158
-
159
- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
160
- ┃ ┃
161
- ┃ Select Drink Type esc ┃
162
- ┃ ┃
163
- ┃ Search... ┃
164
- ┃ ┃
165
- ┃ ┃
166
- Alcoholic Beverages
167
- Beer
168
- Wine
169
- ┃ ┃
170
- Non-Alcoholic
171
- ┃ ›Soda
172
- Juice
173
- ┃ ┃
174
- ┃ ┃
175
- ↵ select ↑↓ navigate
176
- ┃ ┃
177
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
170
+ Search Beers ───────────────────────────────────────────────────
171
+ ╭────────────────────────────────────────────────────────────────╮
172
+ │ │
173
+ │ Select Drink Type esc │
174
+ │ │
175
+ │ > Search... │
176
+ │ │
177
+ │ All │
178
+ │ │
179
+ Alcoholic Beverages
180
+ Beer
181
+ │ ›Wine
182
+ │ │
183
+ Non-Alcoholic
184
+ Soda
185
+ Juice
186
+ │ │
187
+ │ │
188
+ ↵ select ↑↓ navigate
189
+ │ │
190
+ ╰────────────────────────────────────────────────────────────────╯
191
+
192
+ "
178
193
  `)
179
194
 
180
195
  await session.press('enter')
@@ -188,14 +203,16 @@ test('list with dropdown navigation', async () => {
188
203
  "
189
204
 
190
205
 
191
- Search Beers ───────────────────────────────────────────────────
206
+ Search Beers ───────────────────────────────────────────────────
207
+
192
208
 
209
+ > Search... Wine ▾
193
210
 
194
- Search... Soda
211
+ ›Chateau Margaux Wine
212
+ Pinot Noir Wine
195
213
 
196
- ›Coca Cola Soda
197
- Sprite Soda
198
214
 
215
+ ↑↓ navigate ^k actions
199
216
 
200
217
 
201
218
 
@@ -208,7 +225,7 @@ test('list with dropdown navigation', async () => {
208
225
 
209
226
 
210
227
 
211
- ↑↓ navigate ^k actions"
228
+ "
212
229
  `)
213
230
  }, 10000)
214
231
 
@@ -217,11 +234,12 @@ test('list with dropdown search and filter', async () => {
217
234
  waitFor: (text) => {
218
235
  return (
219
236
  /search beers/i.test(text) &&
220
- text.includes('Beer ▾') &&
237
+ text.includes('All ▾') &&
221
238
  text.includes('Augustiner Helles') &&
222
239
  text.includes('Apple Juice')
223
240
  )
224
241
  },
242
+ timeout: 10000,
225
243
  })
226
244
 
227
245
  await session.press(['ctrl', 'p'])
@@ -231,27 +249,29 @@ test('list with dropdown search and filter', async () => {
231
249
  "
232
250
 
233
251
 
234
- Search Beers ───────────────────────────────────────────────────
235
-
236
- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
237
- ┃ ┃
238
- ┃ Select Drink Type esc ┃
239
- ┃ ┃
240
- ┃ Search... ┃
241
- ┃ ┃
242
- ┃ ┃
243
- Alcoholic Beverages
244
- ┃ ›Beer
245
- Wine
246
- ┃ ┃
247
- Non-Alcoholic
248
- Soda
249
- Juice
250
- ┃ ┃
251
- ┃ ┃
252
- ↵ select ↑↓ navigate
253
- ┃ ┃
254
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
252
+ Search Beers ───────────────────────────────────────────────────
253
+ ╭────────────────────────────────────────────────────────────────╮
254
+ │ │
255
+ │ Select Drink Type esc │
256
+ │ │
257
+ │ > Search... │
258
+ │ │
259
+ │ ›All │
260
+ │ │
261
+ Alcoholic Beverages
262
+ Beer
263
+ Wine
264
+ │ │
265
+ Non-Alcoholic
266
+ Soda
267
+ Juice
268
+ │ │
269
+ │ │
270
+ ↵ select ↑↓ navigate
271
+ │ │
272
+ ╰────────────────────────────────────────────────────────────────╯
273
+
274
+ "
255
275
  `)
256
276
 
257
277
  await session.text({
@@ -271,27 +291,29 @@ test('list with dropdown search and filter', async () => {
271
291
  "
272
292
 
273
293
 
274
- Search Beers ───────────────────────────────────────────────────
294
+ Search Beers ───────────────────────────────────────────────────
275
295
 
276
- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
277
- ┃ ┃
278
- ┃ Select Drink Type esc ┃
279
- ┃ ┃
280
- ┃ wine ┃
281
- ┃ ┃
282
- ┃ ›Wine ┃
283
- ┃ ┃
284
- ┃ ┃
285
- ┃ ↵ select ↑↓ navigate ┃
286
- ┃ ┃
287
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃
288
- Apple Juice Juice
289
296
 
297
+ > Search... All ▾
290
298
 
299
+ ╭────────────────────────────────────────────────────────────────╮
300
+ │ │
301
+ │ Select Drink Type esc │
302
+ │ │
303
+ │ > wine │
304
+ │ │
305
+ │ ›Wine │
306
+ │ │
307
+ │ │
308
+ │ ↵ select ↑↓ navigate │
309
+ │ │
310
+ ╰────────────────────────────────────────────────────────────────╯
311
+ ↑↓ navigate ^k actions
291
312
 
292
313
 
293
314
 
294
- ↑↓ navigate ^k actions"
315
+
316
+ "
295
317
  `)
296
318
 
297
319
  await session.press('enter')
@@ -305,14 +327,16 @@ test('list with dropdown search and filter', async () => {
305
327
  "
306
328
 
307
329
 
308
- Search Beers ───────────────────────────────────────────────────
330
+ Search Beers ───────────────────────────────────────────────────
331
+
309
332
 
333
+ > Search... Wine ▾
310
334
 
311
- Search... Wine
335
+ ›Chateau Margaux Wine
336
+ Pinot Noir Wine
312
337
 
313
- ›Chateau Margaux Wine
314
- Pinot Noir Wine
315
338
 
339
+ ↑↓ navigate ^k actions
316
340
 
317
341
 
318
342
 
@@ -325,7 +349,7 @@ test('list with dropdown search and filter', async () => {
325
349
 
326
350
 
327
351
 
328
- ↑↓ navigate ^k actions"
352
+ "
329
353
  `)
330
354
 
331
355
  await session.type('pinot')
@@ -339,13 +363,15 @@ test('list with dropdown search and filter', async () => {
339
363
  "
340
364
 
341
365
 
342
- Search Beers ───────────────────────────────────────────────────
366
+ Search Beers ───────────────────────────────────────────────────
367
+
343
368
 
369
+ > pinot Wine ▾
344
370
 
345
- pinot Wine
371
+ ›Pinot Noir Wine
346
372
 
347
- ›Pinot Noir Wine
348
373
 
374
+ ↑↓ navigate ^k actions
349
375
 
350
376
 
351
377
 
@@ -359,6 +385,6 @@ test('list with dropdown search and filter', async () => {
359
385
 
360
386
 
361
387
 
362
- ↑↓ navigate ^k actions"
388
+ "
363
389
  `)
364
390
  }, 10000)