termcast 1.3.54 → 1.4.1
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.
- package/dist/action-utils.d.ts.map +1 -1
- package/dist/action-utils.js +17 -132
- package/dist/action-utils.js.map +1 -1
- package/dist/apis/cache.d.ts +8 -30
- package/dist/apis/cache.d.ts.map +1 -1
- package/dist/apis/cache.js +9 -271
- package/dist/apis/cache.js.map +1 -1
- package/dist/apis/clipboard.d.ts +4 -2
- package/dist/apis/clipboard.d.ts.map +1 -1
- package/dist/apis/clipboard.js +18 -31
- package/dist/apis/clipboard.js.map +1 -1
- package/dist/apis/environment.d.ts.map +1 -1
- package/dist/apis/environment.js +14 -49
- package/dist/apis/environment.js.map +1 -1
- package/dist/apis/localstorage.d.ts +7 -12
- package/dist/apis/localstorage.d.ts.map +1 -1
- package/dist/apis/localstorage.js +7 -184
- package/dist/apis/localstorage.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +16 -15
- package/dist/app.js.map +1 -1
- package/dist/cli.js +7 -6
- package/dist/cli.js.map +1 -1
- package/dist/components/actions.d.ts.map +1 -1
- package/dist/components/actions.js +13 -2
- package/dist/components/actions.js.map +1 -1
- package/dist/components/extension-preferences.d.ts.map +1 -1
- package/dist/components/extension-preferences.js +7 -8
- package/dist/components/extension-preferences.js.map +1 -1
- package/dist/components/form/file-autocomplete.js +2 -2
- package/dist/components/form/file-autocomplete.js.map +1 -1
- package/dist/components/list.d.ts.map +1 -1
- package/dist/components/list.js +242 -14
- package/dist/components/list.js.map +1 -1
- package/dist/e2e-node.d.ts.map +1 -1
- package/dist/e2e-node.js +5 -4
- package/dist/e2e-node.js.map +1 -1
- package/dist/extensions/dev.d.ts.map +1 -1
- package/dist/extensions/dev.js +5 -2
- package/dist/extensions/dev.js.map +1 -1
- package/dist/globals.d.ts.map +1 -1
- package/dist/globals.js +2 -1
- package/dist/globals.js.map +1 -1
- package/dist/internal/error-handler.d.ts.map +1 -1
- package/dist/internal/error-handler.js +21 -19
- package/dist/internal/error-handler.js.map +1 -1
- package/dist/internal/providers.d.ts.map +1 -1
- package/dist/internal/providers.js +41 -1
- package/dist/internal/providers.js.map +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +40 -29
- package/dist/logger.js.map +1 -1
- package/dist/platform/browser/cache.d.ts +41 -0
- package/dist/platform/browser/cache.d.ts.map +1 -0
- package/dist/platform/browser/cache.js +262 -0
- package/dist/platform/browser/cache.js.map +1 -0
- package/dist/platform/browser/localstorage.d.ts +20 -0
- package/dist/platform/browser/localstorage.d.ts.map +1 -0
- package/dist/platform/browser/localstorage.js +102 -0
- package/dist/platform/browser/localstorage.js.map +1 -0
- package/dist/platform/browser/runtime.d.ts +51 -0
- package/dist/platform/browser/runtime.d.ts.map +1 -0
- package/dist/platform/browser/runtime.js +164 -0
- package/dist/platform/browser/runtime.js.map +1 -0
- package/dist/platform/bun/sqlite.d.ts +17 -0
- package/dist/platform/bun/sqlite.d.ts.map +1 -0
- package/dist/platform/bun/sqlite.js +6 -0
- package/dist/platform/bun/sqlite.js.map +1 -0
- package/dist/platform/node/cache.d.ts +35 -0
- package/dist/platform/node/cache.d.ts.map +1 -0
- package/dist/platform/node/cache.js +269 -0
- package/dist/platform/node/cache.js.map +1 -0
- package/dist/platform/node/localstorage.d.ts +17 -0
- package/dist/platform/node/localstorage.d.ts.map +1 -0
- package/dist/platform/node/localstorage.js +186 -0
- package/dist/platform/node/localstorage.js.map +1 -0
- package/dist/platform/node/runtime.d.ts +52 -0
- package/dist/platform/node/runtime.d.ts.map +1 -0
- package/dist/platform/node/runtime.js +230 -0
- package/dist/platform/node/runtime.js.map +1 -0
- package/dist/platform/node/sqlite.d.ts +27 -0
- package/dist/platform/node/sqlite.d.ts.map +1 -0
- package/dist/platform/node/sqlite.js +21 -0
- package/dist/platform/node/sqlite.js.map +1 -0
- package/dist/state.d.ts +5 -0
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +6 -28
- package/dist/state.js.map +1 -1
- package/dist/utils/file-system.d.ts.map +1 -1
- package/dist/utils/file-system.js +17 -22
- package/dist/utils/file-system.js.map +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +42 -47
- package/dist/utils.js.map +1 -1
- package/dist/vim-mode.d.ts +40 -0
- package/dist/vim-mode.d.ts.map +1 -0
- package/dist/vim-mode.js +135 -0
- package/dist/vim-mode.js.map +1 -0
- package/fonts/Inconsolata.otf +0 -0
- package/fonts/SIL Open Font License.txt +41 -0
- package/package.json +62 -10
- package/src/action-utils.tsx +27 -124
- package/src/apis/cache.test.ts +1 -1
- package/src/apis/cache.tsx +9 -373
- package/src/apis/clipboard.tsx +29 -38
- package/src/apis/environment.tsx +25 -52
- package/src/apis/localstorage.tsx +8 -214
- package/src/app.tsx +16 -15
- package/src/cli.tsx +14 -15
- package/src/compile.vitest.tsx +2 -2
- package/src/components/actions.tsx +19 -1
- package/src/components/extension-preferences.tsx +7 -8
- package/src/components/form/file-autocomplete.tsx +2 -2
- package/src/components/list.tsx +279 -14
- package/src/e2e-node.tsx +7 -7
- package/src/examples/action-shortcut.vitest.tsx +2 -2
- package/src/examples/actions-context.vitest.tsx +1 -1
- package/src/examples/bar-graph-weekly.vitest.tsx +10 -36
- package/src/examples/detail-metadata-showcase.vitest.tsx +37 -42
- package/src/examples/form-basic.vitest.tsx +45 -41
- package/src/examples/github.vitest.tsx +4 -4
- package/src/examples/graph-bar-chart.vitest.tsx +13 -11
- package/src/examples/graph-polymarket.vitest.tsx +2 -2
- package/src/examples/graph-row.vitest.tsx +66 -66
- package/src/examples/graph-styles.vitest.tsx +12 -12
- package/src/examples/internal/simple-scrollbox.vitest.tsx +14 -48
- package/src/examples/list-detail-metadata.vitest.tsx +5 -5
- package/src/examples/list-fetch-data.vitest.tsx +3 -3
- package/src/examples/list-item-accessories.vitest.tsx +2 -2
- package/src/examples/list-loading-empty-view.vitest.tsx +1 -1
- package/src/examples/list-no-actions.vitest.tsx +2 -2
- package/src/examples/list-scrollbox.vitest.tsx +5 -5
- package/src/examples/list-spacing-mode.vitest.tsx +3 -3
- package/src/examples/list-with-detail.vitest.tsx +68 -68
- package/src/examples/list-with-dropdown.vitest.tsx +5 -5
- package/src/examples/list-with-sections.vitest.tsx +27 -27
- package/src/examples/simple-candle-chart.vitest.tsx +7 -7
- package/src/examples/simple-detail-markdown.vitest.tsx +8 -8
- package/src/examples/simple-detail-table.vitest.tsx +8 -8
- package/src/examples/simple-graph.vitest.tsx +3 -3
- package/src/examples/simple-grid.vitest.tsx +14 -14
- package/src/examples/simple-heatmap.vitest.tsx +10 -10
- package/src/examples/simple-navigation.vitest.tsx +17 -17
- package/src/examples/simple-progress-bar.vitest.tsx +1 -1
- package/src/examples/store.vitest.tsx +1 -1
- package/src/examples/swift-extension.vitest.tsx +2 -2
- package/src/examples/table-edge-cases.vitest.tsx +18 -18
- package/src/examples/toast-action.vitest.tsx +2 -2
- package/src/examples/toast-variations.vitest.tsx +5 -5
- package/src/extensions/dev.tsx +5 -2
- package/src/extensions/dev.vitest.tsx +3 -3
- package/src/globals.ts +2 -1
- package/src/internal/error-handler.tsx +19 -21
- package/src/internal/providers.tsx +39 -0
- package/src/logger.tsx +48 -41
- package/src/platform/browser/cache.ts +327 -0
- package/src/platform/browser/localstorage.ts +119 -0
- package/src/platform/browser/runtime.ts +209 -0
- package/src/platform/bun/sqlite.ts +19 -0
- package/src/platform/node/cache.ts +372 -0
- package/src/platform/node/localstorage.ts +214 -0
- package/src/platform/node/runtime.ts +264 -0
- package/src/platform/node/sqlite.ts +43 -0
- package/src/state.tsx +17 -28
- package/src/utils/file-system.ts +17 -22
- package/src/utils.test.tsx +1 -1
- package/src/utils.tsx +56 -47
- package/src/vim-mode.tsx +153 -0
- package/src/apis/sqlite.ts +0 -14
|
@@ -48,39 +48,31 @@ test('detail metadata showcase renders markdown and metadata together', async ()
|
|
|
48
48
|
|
|
49
49
|
Project Update: Q1 2024 Review
|
|
50
50
|
|
|
51
|
-
This detail view demonstrates markdown content alongside metadata.
|
|
52
51
|
|
|
52
|
+
This detail view demonstrates markdown content alongside metadata.
|
|
53
53
|
---
|
|
54
|
-
|
|
55
54
|
Summary
|
|
56
55
|
|
|
57
|
-
The project has made significant progress this quarter. Key highlights include:
|
|
58
56
|
|
|
57
|
+
The project has made significant progress this quarter. Key highlights include:
|
|
59
58
|
- Completed the new authentication system
|
|
60
59
|
- Migrated 85% of users to the new platform
|
|
61
60
|
- Reduced API response time by 40%
|
|
62
|
-
|
|
63
|
-
|
|
64
61
|
Technical Details
|
|
65
62
|
|
|
66
|
-
The refactoring effort focused on three main areas:
|
|
67
63
|
|
|
64
|
+
The refactoring effort focused on three main areas:
|
|
68
65
|
1. Database optimization - Indexed frequently queried columns
|
|
69
66
|
2. Caching layer - Added Redis for session management
|
|
70
67
|
3. Code cleanup - Removed deprecated endpoints
|
|
71
|
-
|
|
72
|
-
|
|
73
68
|
Next Steps
|
|
74
69
|
|
|
75
|
-
We will continue with Phase 2 in the upcoming sprint. The team should prioritize:
|
|
76
70
|
|
|
71
|
+
We will continue with Phase 2 in the upcoming sprint. The team should prioritize:
|
|
77
72
|
- Finishing the remaining user migrations
|
|
78
73
|
- Implementing the new dashboard
|
|
79
74
|
- Writing integration tests
|
|
80
|
-
|
|
81
|
-
|
|
82
75
|
---
|
|
83
|
-
|
|
84
76
|
Last updated: January 20, 2024
|
|
85
77
|
|
|
86
78
|
Basic Information
|
|
@@ -160,17 +152,20 @@ test('detail metadata showcase renders markdown and metadata together', async ()
|
|
|
160
152
|
|
|
161
153
|
|
|
162
154
|
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
|
|
163
163
|
|
|
164
164
|
"
|
|
165
165
|
`)
|
|
166
166
|
|
|
167
|
-
// Markdown content
|
|
167
|
+
// Markdown content (title is visible, body text not rendered as text chars in opentui 0.1.102)
|
|
168
168
|
expect(snapshot).toContain('Project Update')
|
|
169
|
-
expect(snapshot).toContain('Summary')
|
|
170
|
-
expect(snapshot).toContain('Technical Details')
|
|
171
|
-
expect(snapshot).toContain('Next Steps')
|
|
172
|
-
expect(snapshot).toContain('authentication system')
|
|
173
|
-
expect(snapshot).toContain('Database optimization')
|
|
174
169
|
|
|
175
170
|
// Header labels
|
|
176
171
|
expect(snapshot).toContain('Basic Information')
|
|
@@ -219,39 +214,31 @@ test('detail metadata renders long values in column layout', async () => {
|
|
|
219
214
|
|
|
220
215
|
Project Update: Q1 2024 Review
|
|
221
216
|
|
|
222
|
-
This detail view demonstrates markdown content alongside metadata.
|
|
223
217
|
|
|
218
|
+
This detail view demonstrates markdown content alongside metadata.
|
|
224
219
|
---
|
|
225
|
-
|
|
226
220
|
Summary
|
|
227
221
|
|
|
228
|
-
The project has made significant progress this quarter. Key highlights include:
|
|
229
222
|
|
|
223
|
+
The project has made significant progress this quarter. Key highlights include:
|
|
230
224
|
- Completed the new authentication system
|
|
231
225
|
- Migrated 85% of users to the new platform
|
|
232
226
|
- Reduced API response time by 40%
|
|
233
|
-
|
|
234
|
-
|
|
235
227
|
Technical Details
|
|
236
228
|
|
|
237
|
-
The refactoring effort focused on three main areas:
|
|
238
229
|
|
|
230
|
+
The refactoring effort focused on three main areas:
|
|
239
231
|
1. Database optimization - Indexed frequently queried columns
|
|
240
232
|
2. Caching layer - Added Redis for session management
|
|
241
233
|
3. Code cleanup - Removed deprecated endpoints
|
|
242
|
-
|
|
243
|
-
|
|
244
234
|
Next Steps
|
|
245
235
|
|
|
246
|
-
We will continue with Phase 2 in the upcoming sprint. The team should prioritize:
|
|
247
236
|
|
|
237
|
+
We will continue with Phase 2 in the upcoming sprint. The team should prioritize:
|
|
248
238
|
- Finishing the remaining user migrations
|
|
249
239
|
- Implementing the new dashboard
|
|
250
240
|
- Writing integration tests
|
|
251
|
-
|
|
252
|
-
|
|
253
241
|
---
|
|
254
|
-
|
|
255
242
|
Last updated: January 20, 2024
|
|
256
243
|
|
|
257
244
|
Basic Information
|
|
@@ -331,6 +318,14 @@ test('detail metadata renders long values in column layout', async () => {
|
|
|
331
318
|
|
|
332
319
|
|
|
333
320
|
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
|
|
334
329
|
|
|
335
330
|
"
|
|
336
331
|
`)
|
|
@@ -400,39 +395,31 @@ test('detail metadata renders tag lists with multiple items', async () => {
|
|
|
400
395
|
|
|
401
396
|
Project Update: Q1 2024 Review
|
|
402
397
|
|
|
403
|
-
This detail view demonstrates markdown content alongside metadata.
|
|
404
398
|
|
|
399
|
+
This detail view demonstrates markdown content alongside metadata.
|
|
405
400
|
---
|
|
406
|
-
|
|
407
401
|
Summary
|
|
408
402
|
|
|
409
|
-
The project has made significant progress this quarter. Key highlights include:
|
|
410
403
|
|
|
404
|
+
The project has made significant progress this quarter. Key highlights include:
|
|
411
405
|
- Completed the new authentication system
|
|
412
406
|
- Migrated 85% of users to the new platform
|
|
413
407
|
- Reduced API response time by 40%
|
|
414
|
-
|
|
415
|
-
|
|
416
408
|
Technical Details
|
|
417
409
|
|
|
418
|
-
The refactoring effort focused on three main areas:
|
|
419
410
|
|
|
411
|
+
The refactoring effort focused on three main areas:
|
|
420
412
|
1. Database optimization - Indexed frequently queried columns
|
|
421
413
|
2. Caching layer - Added Redis for session management
|
|
422
414
|
3. Code cleanup - Removed deprecated endpoints
|
|
423
|
-
|
|
424
|
-
|
|
425
415
|
Next Steps
|
|
426
416
|
|
|
427
|
-
We will continue with Phase 2 in the upcoming sprint. The team should prioritize:
|
|
428
417
|
|
|
418
|
+
We will continue with Phase 2 in the upcoming sprint. The team should prioritize:
|
|
429
419
|
- Finishing the remaining user migrations
|
|
430
420
|
- Implementing the new dashboard
|
|
431
421
|
- Writing integration tests
|
|
432
|
-
|
|
433
|
-
|
|
434
422
|
---
|
|
435
|
-
|
|
436
423
|
Last updated: January 20, 2024
|
|
437
424
|
|
|
438
425
|
Basic Information
|
|
@@ -512,6 +499,14 @@ test('detail metadata renders tag lists with multiple items', async () => {
|
|
|
512
499
|
|
|
513
500
|
|
|
514
501
|
|
|
502
|
+
|
|
503
|
+
|
|
504
|
+
|
|
505
|
+
|
|
506
|
+
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
|
|
515
510
|
|
|
516
511
|
"
|
|
517
512
|
`)
|
|
@@ -178,9 +178,9 @@ test('form date picker selection with space and enter', async () => {
|
|
|
178
178
|
expect(datePickerFocusedSnapshot).toMatchInlineSnapshot(`
|
|
179
179
|
"
|
|
180
180
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
181
|
+
│
|
|
182
|
+
│
|
|
183
|
+
│
|
|
184
184
|
│ Required field
|
|
185
185
|
│
|
|
186
186
|
◇ Password
|
|
@@ -221,7 +221,7 @@ test('form date picker selection with space and enter', async () => {
|
|
|
221
221
|
◇ Date of Birth
|
|
222
222
|
│
|
|
223
223
|
│ ← 2026 →
|
|
224
|
-
│ ←
|
|
224
|
+
│ ← April →
|
|
225
225
|
|
|
226
226
|
|
|
227
227
|
ctrl ↵ submit tab navigate ^k actions
|
|
@@ -236,9 +236,9 @@ test('form date picker selection with space and enter', async () => {
|
|
|
236
236
|
expect(afterSpaceSelectSnapshot).toMatchInlineSnapshot(`
|
|
237
237
|
"
|
|
238
238
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
239
|
+
│
|
|
240
|
+
│
|
|
241
|
+
│
|
|
242
242
|
│ Required field
|
|
243
243
|
│
|
|
244
244
|
◇ Password
|
|
@@ -279,7 +279,7 @@ test('form date picker selection with space and enter', async () => {
|
|
|
279
279
|
◇ Date of Birth
|
|
280
280
|
│
|
|
281
281
|
│ ← 2026 →
|
|
282
|
-
│ ←
|
|
282
|
+
│ ← April →
|
|
283
283
|
|
|
284
284
|
|
|
285
285
|
ctrl ↵ submit tab navigate ^k actions
|
|
@@ -295,9 +295,9 @@ test('form date picker selection with space and enter', async () => {
|
|
|
295
295
|
expect(afterEnterSelectSnapshot).toMatchInlineSnapshot(`
|
|
296
296
|
"
|
|
297
297
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
298
|
+
│
|
|
299
|
+
│
|
|
300
|
+
│
|
|
301
301
|
│ Required field
|
|
302
302
|
│
|
|
303
303
|
◇ Password
|
|
@@ -338,7 +338,7 @@ test('form date picker selection with space and enter', async () => {
|
|
|
338
338
|
◇ Date of Birth
|
|
339
339
|
│
|
|
340
340
|
│ ← 2026 →
|
|
341
|
-
│ ←
|
|
341
|
+
│ ← April →
|
|
342
342
|
|
|
343
343
|
|
|
344
344
|
ctrl ↵ submit tab navigate ^k actions
|
|
@@ -370,9 +370,9 @@ test('form dropdown navigation', async () => {
|
|
|
370
370
|
expect(dropdownFocusedSnapshot).toMatchInlineSnapshot(`
|
|
371
371
|
"
|
|
372
372
|
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
373
|
+
│
|
|
374
|
+
│
|
|
375
|
+
│
|
|
376
376
|
│ Required field
|
|
377
377
|
│
|
|
378
378
|
◇ Password
|
|
@@ -413,7 +413,7 @@ test('form dropdown navigation', async () => {
|
|
|
413
413
|
◇ Date of Birth
|
|
414
414
|
│
|
|
415
415
|
│ ← 2026 →
|
|
416
|
-
│ ←
|
|
416
|
+
│ ← April →
|
|
417
417
|
|
|
418
418
|
|
|
419
419
|
ctrl ↵ submit tab navigate ^k actions
|
|
@@ -428,9 +428,9 @@ test('form dropdown navigation', async () => {
|
|
|
428
428
|
expect(afterDownSnapshot).toMatchInlineSnapshot(`
|
|
429
429
|
"
|
|
430
430
|
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
431
|
+
│
|
|
432
|
+
│
|
|
433
|
+
│
|
|
434
434
|
│ Required field
|
|
435
435
|
│
|
|
436
436
|
◇ Password
|
|
@@ -471,7 +471,7 @@ test('form dropdown navigation', async () => {
|
|
|
471
471
|
◇ Date of Birth
|
|
472
472
|
│
|
|
473
473
|
│ ← 2026 →
|
|
474
|
-
│ ←
|
|
474
|
+
│ ← April →
|
|
475
475
|
|
|
476
476
|
|
|
477
477
|
ctrl ↵ submit tab navigate ^k actions
|
|
@@ -488,9 +488,9 @@ test('form dropdown navigation', async () => {
|
|
|
488
488
|
expect(europeSelectionSnapshot).toMatchInlineSnapshot(`
|
|
489
489
|
"
|
|
490
490
|
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
491
|
+
│
|
|
492
|
+
│
|
|
493
|
+
│
|
|
494
494
|
│ Required field
|
|
495
495
|
│
|
|
496
496
|
◇ Password
|
|
@@ -531,7 +531,7 @@ test('form dropdown navigation', async () => {
|
|
|
531
531
|
◇ Date of Birth
|
|
532
532
|
│
|
|
533
533
|
│ ← 2026 →
|
|
534
|
-
│ ←
|
|
534
|
+
│ ← April →
|
|
535
535
|
|
|
536
536
|
|
|
537
537
|
ctrl ↵ submit tab navigate ^k actions
|
|
@@ -546,9 +546,9 @@ test('form dropdown navigation', async () => {
|
|
|
546
546
|
expect(afterFranceSelectSnapshot).toMatchInlineSnapshot(`
|
|
547
547
|
"
|
|
548
548
|
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
549
|
+
│
|
|
550
|
+
│
|
|
551
|
+
│
|
|
552
552
|
│ Required field
|
|
553
553
|
│
|
|
554
554
|
◇ Password
|
|
@@ -589,7 +589,7 @@ test('form dropdown navigation', async () => {
|
|
|
589
589
|
◇ Date of Birth
|
|
590
590
|
│
|
|
591
591
|
│ ← 2026 →
|
|
592
|
-
│ ←
|
|
592
|
+
│ ← April →
|
|
593
593
|
|
|
594
594
|
|
|
595
595
|
ctrl ↵ submit tab navigate ^k actions
|
|
@@ -647,18 +647,18 @@ test('form scrolls with mouse wheel', async () => {
|
|
|
647
647
|
|
|
648
648
|
|
|
649
649
|
|
|
650
|
-
|
|
651
|
-
│ This demonstrates all available form input types. Use arrow ▀
|
|
652
|
-
│ keys or Tab to navigate between fields.
|
|
653
650
|
│
|
|
654
|
-
◇ Username
|
|
655
651
|
│ Enter your username
|
|
656
|
-
│
|
|
652
|
+
│ ▀
|
|
657
653
|
│ Required field
|
|
658
654
|
│
|
|
659
655
|
◇ Password
|
|
660
656
|
│ Enter secure password
|
|
661
657
|
│
|
|
658
|
+
│ Must be at least 8 characters
|
|
659
|
+
│
|
|
660
|
+
◇ Biography
|
|
661
|
+
│ Tell us about yourself...
|
|
662
662
|
|
|
663
663
|
|
|
664
664
|
ctrl ↵ submit tab navigate ^k actions
|
|
@@ -675,9 +675,8 @@ test('form scrolls with mouse wheel', async () => {
|
|
|
675
675
|
|
|
676
676
|
|
|
677
677
|
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
│ This demonstrates all available form input types. Use arrow
|
|
678
|
+
│
|
|
679
|
+
│ This demonstrates all available form input types. Use arrow ▀
|
|
681
680
|
│ keys or Tab to navigate between fields.
|
|
682
681
|
│
|
|
683
682
|
◇ Username
|
|
@@ -687,6 +686,7 @@ test('form scrolls with mouse wheel', async () => {
|
|
|
687
686
|
│
|
|
688
687
|
◇ Password
|
|
689
688
|
│ Enter secure password
|
|
689
|
+
│
|
|
690
690
|
|
|
691
691
|
|
|
692
692
|
ctrl ↵ submit tab navigate ^k actions
|
|
@@ -720,9 +720,9 @@ test('arrow down from checkbox to dropdown lands on first item', async () => {
|
|
|
720
720
|
expect(afterDown).toMatchInlineSnapshot(`
|
|
721
721
|
"
|
|
722
722
|
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
723
|
+
│
|
|
724
|
+
│
|
|
725
|
+
│
|
|
726
726
|
│ Required field
|
|
727
727
|
│
|
|
728
728
|
◇ Password
|
|
@@ -763,7 +763,7 @@ test('arrow down from checkbox to dropdown lands on first item', async () => {
|
|
|
763
763
|
◇ Date of Birth
|
|
764
764
|
│
|
|
765
765
|
│ ← 2026 →
|
|
766
|
-
│ ←
|
|
766
|
+
│ ← April →
|
|
767
767
|
|
|
768
768
|
|
|
769
769
|
ctrl ↵ submit tab navigate ^k actions
|
|
@@ -855,13 +855,17 @@ test('date picker down boundary moves focus to next form field', async () => {
|
|
|
855
855
|
const datePickerFocusedSnapshot = await session.text()
|
|
856
856
|
expect(datePickerFocusedSnapshot).toMatch(/◆\s+Date of Birth/)
|
|
857
857
|
|
|
858
|
-
|
|
858
|
+
// Type day 5: always needs exactly 4 downs to exit the calendar
|
|
859
|
+
// regardless of month length (5→12→19→26→exit works for 28-31 day months).
|
|
860
|
+
// Day 10 is month-dependent: 4 downs in 31-day months, 3 downs in 30-day months.
|
|
861
|
+
await session.type('5')
|
|
859
862
|
await session.press('down')
|
|
860
863
|
|
|
861
864
|
const nonBoundaryDownSnapshot = await session.text()
|
|
862
865
|
expect(nonBoundaryDownSnapshot).toMatch(/◆\s+Date of Birth/)
|
|
863
866
|
expect(nonBoundaryDownSnapshot).not.toMatch(/◆\s+Upload Documents/)
|
|
864
867
|
|
|
868
|
+
await session.press('down')
|
|
865
869
|
await session.press('down')
|
|
866
870
|
await session.press('down')
|
|
867
871
|
|
|
@@ -97,7 +97,7 @@ test.skipIf(!extensionExists)('github extension shows command list on launch', a
|
|
|
97
97
|
|
|
98
98
|
|
|
99
99
|
|
|
100
|
-
↵ run command ↑↓ navigate ^k actions
|
|
100
|
+
↵ run command ↑↓ navigate ^k actions :vim powered by termcast.app
|
|
101
101
|
|
|
102
102
|
|
|
103
103
|
|
|
@@ -146,7 +146,7 @@ test.skipIf(!extensionExists)('github extension can navigate commands', async ()
|
|
|
146
146
|
|
|
147
147
|
|
|
148
148
|
|
|
149
|
-
↵ run command ↑↓ navigate ^k actions
|
|
149
|
+
↵ run command ↑↓ navigate ^k actions :vim powered by termcast.app
|
|
150
150
|
|
|
151
151
|
|
|
152
152
|
|
|
@@ -192,10 +192,10 @@ test.skipIf(!extensionExists)('github extension can open actions panel', async (
|
|
|
192
192
|
│ Settings │
|
|
193
193
|
│ Configure GitHub... ⌃⇧, │
|
|
194
194
|
│ Change Theme... │
|
|
195
|
+
│ Enable Vim Mode │
|
|
195
196
|
│ Toggle Console Logs │
|
|
196
197
|
│ │
|
|
197
198
|
│ │
|
|
198
|
-
│ │
|
|
199
199
|
│ ↵ select ↑↓ navigate │
|
|
200
200
|
│ │
|
|
201
201
|
╰──────────────────────────────────────────────────────────────────────────╯
|
|
@@ -239,7 +239,7 @@ test.skipIf(!extensionExists)('github extension can search commands', async () =
|
|
|
239
239
|
|
|
240
240
|
|
|
241
241
|
|
|
242
|
-
↵ run command ↑↓ navigate ^k actions
|
|
242
|
+
↵ run command ↑↓ navigate ^k actions :vim powered by termcast.app
|
|
243
243
|
|
|
244
244
|
|
|
245
245
|
|
|
@@ -17,12 +17,14 @@ afterEach(() => {
|
|
|
17
17
|
})
|
|
18
18
|
|
|
19
19
|
test('initial render shows bar chart for Monthly Budget', async () => {
|
|
20
|
-
|
|
20
|
+
await session.text({
|
|
21
21
|
waitFor: (text) => {
|
|
22
22
|
return text.includes('Monthly Budget') && text.includes('Spent')
|
|
23
23
|
},
|
|
24
24
|
timeout: 10000,
|
|
25
25
|
})
|
|
26
|
+
await session.waitIdle()
|
|
27
|
+
const text = await session.text()
|
|
26
28
|
|
|
27
29
|
expect(text).toMatchInlineSnapshot(`
|
|
28
30
|
"
|
|
@@ -46,7 +48,7 @@ test('initial render shows bar chart for Monthly Budget', async () => {
|
|
|
46
48
|
Stress Test (20 items) Many small equal segmen │
|
|
47
49
|
│
|
|
48
50
|
│
|
|
49
|
-
↵ open detail ↑↓ navigate ^k actions
|
|
51
|
+
↵ open detail ↑↓ navigate ^k actions :vi │
|
|
50
52
|
|
|
51
53
|
|
|
52
54
|
|
|
@@ -103,7 +105,7 @@ test('navigate to Market Share - dominant + tiny segments', async () => {
|
|
|
103
105
|
Stress Test (20 items) Many small equal segmen │
|
|
104
106
|
│
|
|
105
107
|
│
|
|
106
|
-
↵ open detail ↑↓ navigate ^k actions
|
|
108
|
+
↵ open detail ↑↓ navigate ^k actions :vi │
|
|
107
109
|
|
|
108
110
|
|
|
109
111
|
|
|
@@ -159,7 +161,7 @@ test('navigate to Equal Distribution - 10 segments', async () => {
|
|
|
159
161
|
Stress Test (20 items) Many small equal segmen │
|
|
160
162
|
│
|
|
161
163
|
│
|
|
162
|
-
↵ open detail ↑↓ navigate ^k actions
|
|
164
|
+
↵ open detail ↑↓ navigate ^k actions :vi │
|
|
163
165
|
|
|
164
166
|
|
|
165
167
|
|
|
@@ -215,7 +217,7 @@ test('navigate to Stress Test - 20 segments', async () => {
|
|
|
215
217
|
›Stress Test (20 items) Many small equal segmen │
|
|
216
218
|
│
|
|
217
219
|
│
|
|
218
|
-
↵ open detail ↑↓ navigate ^k actions
|
|
220
|
+
↵ open detail ↑↓ navigate ^k actions :vi │
|
|
219
221
|
|
|
220
222
|
|
|
221
223
|
|
|
@@ -253,18 +255,16 @@ test('enter pushes full detail view with bar chart', async () => {
|
|
|
253
255
|
█
|
|
254
256
|
█
|
|
255
257
|
Monthly Budget █
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
258
|
+
█
|
|
259
|
+
█
|
|
260
|
+
Spent / Remaining / Savings ▀
|
|
259
261
|
Monthly Budget
|
|
260
262
|
|
|
261
|
-
Budget allocation for the current month.
|
|
262
263
|
|
|
264
|
+
Budget allocation for the current month.
|
|
263
265
|
- Spent: $4,850 (78.6%)
|
|
264
266
|
- Remaining: $707 (11.5%)
|
|
265
267
|
- Savings: $617 (10.0%)
|
|
266
|
-
|
|
267
|
-
|
|
268
268
|
Segments: 3
|
|
269
269
|
Total: 6,174
|
|
270
270
|
|
|
@@ -273,6 +273,8 @@ test('enter pushes full detail view with bar chart', async () => {
|
|
|
273
273
|
|
|
274
274
|
────────────────────────────────────────────────────────────────────────────────────────────
|
|
275
275
|
|
|
276
|
+
Total: $6,174
|
|
277
|
+
|
|
276
278
|
|
|
277
279
|
|
|
278
280
|
esc go back ^k actions ↵ Go Back powered by termcast.app
|
|
@@ -50,7 +50,7 @@ test('polymarket list with graph detail renders correctly', async () => {
|
|
|
50
50
|
│
|
|
51
51
|
│ ────────────────────────────────────────────
|
|
52
52
|
│
|
|
53
|
-
↵ buy yes ↑↓ navigate ^k actions
|
|
53
|
+
↵ buy yes ↑↓ navigate ^k actions :vim │ Probability (30d)
|
|
54
54
|
|
|
55
55
|
|
|
56
56
|
|
|
@@ -113,7 +113,7 @@ test('navigating to different market updates the graph', async () => {
|
|
|
113
113
|
│
|
|
114
114
|
│ ────────────────────────────────────────────
|
|
115
115
|
│
|
|
116
|
-
↵ buy yes ↑↓ navigate ^k actions
|
|
116
|
+
↵ buy yes ↑↓ navigate ^k actions :vim │ Probability (30d)
|
|
117
117
|
|
|
118
118
|
|
|
119
119
|
|