termcast 1.4.1 → 1.6.0

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 (180) hide show
  1. package/dist/build.d.ts.map +1 -1
  2. package/dist/build.js +30 -12
  3. package/dist/build.js.map +1 -1
  4. package/dist/cli.js +0 -40
  5. package/dist/cli.js.map +1 -1
  6. package/dist/compile.d.ts.map +1 -1
  7. package/dist/compile.js +7 -1
  8. package/dist/compile.js.map +1 -1
  9. package/dist/components/bar-graph.d.ts +23 -8
  10. package/dist/components/bar-graph.d.ts.map +1 -1
  11. package/dist/components/bar-graph.js +84 -40
  12. package/dist/components/bar-graph.js.map +1 -1
  13. package/dist/components/dotted-line-graph.d.ts +86 -0
  14. package/dist/components/dotted-line-graph.d.ts.map +1 -0
  15. package/dist/components/dotted-line-graph.js +260 -0
  16. package/dist/components/dotted-line-graph.js.map +1 -0
  17. package/dist/components/extension-preferences.d.ts.map +1 -1
  18. package/dist/components/extension-preferences.js +1 -10
  19. package/dist/components/extension-preferences.js.map +1 -1
  20. package/dist/components/graph.d.ts.map +1 -1
  21. package/dist/components/graph.js +7 -1
  22. package/dist/components/graph.js.map +1 -1
  23. package/dist/components/histogram.d.ts +42 -0
  24. package/dist/components/histogram.d.ts.map +1 -0
  25. package/dist/components/histogram.js +115 -0
  26. package/dist/components/histogram.js.map +1 -0
  27. package/dist/components/horizontal-bar-graph.d.ts +47 -0
  28. package/dist/components/horizontal-bar-graph.d.ts.map +1 -0
  29. package/dist/components/horizontal-bar-graph.js +137 -0
  30. package/dist/components/horizontal-bar-graph.js.map +1 -0
  31. package/dist/components/list.d.ts +9 -0
  32. package/dist/components/list.d.ts.map +1 -1
  33. package/dist/components/list.js +84 -21
  34. package/dist/components/list.js.map +1 -1
  35. package/dist/examples/bar-graph-weekly.js +2 -2
  36. package/dist/examples/bar-graph-weekly.js.map +1 -1
  37. package/dist/examples/charts-showcase-barchart.d.ts +2 -0
  38. package/dist/examples/charts-showcase-barchart.d.ts.map +1 -0
  39. package/dist/examples/charts-showcase-barchart.js +10 -0
  40. package/dist/examples/charts-showcase-barchart.js.map +1 -0
  41. package/dist/examples/charts-showcase-bargraph.d.ts +2 -0
  42. package/dist/examples/charts-showcase-bargraph.d.ts.map +1 -0
  43. package/dist/examples/charts-showcase-bargraph.js +60 -0
  44. package/dist/examples/charts-showcase-bargraph.js.map +1 -0
  45. package/dist/examples/charts-showcase-candle.d.ts +2 -0
  46. package/dist/examples/charts-showcase-candle.d.ts.map +1 -0
  47. package/dist/examples/charts-showcase-candle.js +30 -0
  48. package/dist/examples/charts-showcase-candle.js.map +1 -0
  49. package/dist/examples/charts-showcase-graph.d.ts +2 -0
  50. package/dist/examples/charts-showcase-graph.d.ts.map +1 -0
  51. package/dist/examples/charts-showcase-graph.js +33 -0
  52. package/dist/examples/charts-showcase-graph.js.map +1 -0
  53. package/dist/examples/charts-showcase-heatmap.d.ts +2 -0
  54. package/dist/examples/charts-showcase-heatmap.d.ts.map +1 -0
  55. package/dist/examples/charts-showcase-heatmap.js +36 -0
  56. package/dist/examples/charts-showcase-heatmap.js.map +1 -0
  57. package/dist/examples/charts-showcase-mixed.d.ts +2 -0
  58. package/dist/examples/charts-showcase-mixed.d.ts.map +1 -0
  59. package/dist/examples/charts-showcase-mixed.js +30 -0
  60. package/dist/examples/charts-showcase-mixed.js.map +1 -0
  61. package/dist/examples/charts-showcase-progress.d.ts +2 -0
  62. package/dist/examples/charts-showcase-progress.d.ts.map +1 -0
  63. package/dist/examples/charts-showcase-progress.js +10 -0
  64. package/dist/examples/charts-showcase-progress.js.map +1 -0
  65. package/dist/examples/graph-multi-series.js +1 -1
  66. package/dist/examples/graph-multi-series.js.map +1 -1
  67. package/dist/examples/horizontal-bar-graph-weekly.d.ts +2 -0
  68. package/dist/examples/horizontal-bar-graph-weekly.d.ts.map +1 -0
  69. package/dist/examples/horizontal-bar-graph-weekly.js +67 -0
  70. package/dist/examples/horizontal-bar-graph-weekly.js.map +1 -0
  71. package/dist/examples/list-detail-height-ratchet.d.ts +2 -0
  72. package/dist/examples/list-detail-height-ratchet.d.ts.map +1 -0
  73. package/dist/examples/list-detail-height-ratchet.js +26 -0
  74. package/dist/examples/list-detail-height-ratchet.js.map +1 -0
  75. package/dist/examples/simple-dotted-line-graph.d.ts +2 -0
  76. package/dist/examples/simple-dotted-line-graph.d.ts.map +1 -0
  77. package/dist/examples/simple-dotted-line-graph.js +39 -0
  78. package/dist/examples/simple-dotted-line-graph.js.map +1 -0
  79. package/dist/examples/simple-histogram.d.ts +2 -0
  80. package/dist/examples/simple-histogram.d.ts.map +1 -0
  81. package/dist/examples/simple-histogram.js +47 -0
  82. package/dist/examples/simple-histogram.js.map +1 -0
  83. package/dist/extensions/dev.d.ts.map +1 -1
  84. package/dist/extensions/dev.js +1 -0
  85. package/dist/extensions/dev.js.map +1 -1
  86. package/dist/globals.js +8 -0
  87. package/dist/globals.js.map +1 -1
  88. package/dist/index.d.ts +6 -0
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +6 -0
  91. package/dist/index.js.map +1 -1
  92. package/dist/package-json.d.ts +2 -0
  93. package/dist/package-json.d.ts.map +1 -1
  94. package/dist/package-json.js +20 -17
  95. package/dist/package-json.js.map +1 -1
  96. package/dist/platform/node/sqlite.d.ts +6 -5
  97. package/dist/platform/node/sqlite.d.ts.map +1 -1
  98. package/dist/platform/node/sqlite.js +30 -14
  99. package/dist/platform/node/sqlite.js.map +1 -1
  100. package/dist/profiler.d.ts +2 -0
  101. package/dist/profiler.d.ts.map +1 -0
  102. package/dist/profiler.js +390 -0
  103. package/dist/profiler.js.map +1 -0
  104. package/dist/theme.d.ts.map +1 -1
  105. package/dist/theme.js +11 -9
  106. package/dist/theme.js.map +1 -1
  107. package/dist/utils/run-command.d.ts.map +1 -1
  108. package/dist/utils/run-command.js +8 -19
  109. package/dist/utils/run-command.js.map +1 -1
  110. package/dist/utils.d.ts +1 -19
  111. package/dist/utils.d.ts.map +1 -1
  112. package/dist/utils.js +1 -100
  113. package/dist/utils.js.map +1 -1
  114. package/package.json +18 -21
  115. package/src/build.tsx +38 -15
  116. package/src/cli.tsx +3 -40
  117. package/src/compile.tsx +9 -1
  118. package/src/compile.vitest.tsx +8 -8
  119. package/src/components/bar-graph.tsx +217 -111
  120. package/src/components/dotted-line-graph.tsx +407 -0
  121. package/src/components/extension-preferences.tsx +2 -12
  122. package/src/components/graph.tsx +5 -1
  123. package/src/components/histogram.tsx +228 -0
  124. package/src/components/horizontal-bar-graph.tsx +279 -0
  125. package/src/components/list.tsx +112 -26
  126. package/src/examples/action-shortcut.vitest.tsx +20 -20
  127. package/src/examples/actions-context.vitest.tsx +2 -2
  128. package/src/examples/bar-graph-weekly.tsx +2 -2
  129. package/src/examples/bar-graph-weekly.vitest.tsx +103 -102
  130. package/src/examples/charts-showcase-bargraph.tsx +103 -0
  131. package/src/examples/detail-metadata-showcase.vitest.tsx +12 -12
  132. package/src/examples/form-basic.vitest.tsx +11 -11
  133. package/src/examples/form-dropdown.vitest.tsx +11 -11
  134. package/src/examples/form-scroll.vitest.tsx +1 -1
  135. package/src/examples/form-tagpicker.vitest.tsx +11 -11
  136. package/src/examples/github.vitest.tsx +22 -31
  137. package/src/examples/graph-bar-chart.vitest.tsx +36 -36
  138. package/src/examples/graph-multi-series.tsx +1 -1
  139. package/src/examples/graph-polymarket.vitest.tsx +24 -24
  140. package/src/examples/graph-row.vitest.tsx +14 -14
  141. package/src/examples/graph-styles.vitest.tsx +77 -77
  142. package/src/examples/horizontal-bar-graph-weekly.tsx +138 -0
  143. package/src/examples/horizontal-bar-graph-weekly.vitest.tsx +164 -0
  144. package/src/examples/list-detail-height-ratchet.tsx +48 -0
  145. package/src/examples/list-detail-height-ratchet.vitest.tsx +161 -0
  146. package/src/examples/list-detail-metadata.vitest.tsx +51 -51
  147. package/src/examples/list-dropdown-default.vitest.tsx +27 -27
  148. package/src/examples/list-fetch-data.vitest.tsx +3 -3
  149. package/src/examples/list-loading-empty-view.vitest.tsx +1 -1
  150. package/src/examples/list-no-actions.vitest.tsx +3 -3
  151. package/src/examples/list-scrollbox.vitest.tsx +6 -6
  152. package/src/examples/list-spacing-mode.vitest.tsx +1 -1
  153. package/src/examples/list-with-detail.vitest.tsx +55 -55
  154. package/src/examples/list-with-dropdown.vitest.tsx +6 -6
  155. package/src/examples/list-with-sections.vitest.tsx +20 -20
  156. package/src/examples/list-with-toast.vitest.tsx +4 -4
  157. package/src/examples/simple-candle-chart.vitest.tsx +61 -59
  158. package/src/examples/simple-dotted-line-graph.tsx +53 -0
  159. package/src/examples/simple-dotted-line-graph.vitest.tsx +62 -0
  160. package/src/examples/simple-grid.vitest.tsx +4 -4
  161. package/src/examples/simple-heatmap.vitest.tsx +9 -9
  162. package/src/examples/simple-histogram.tsx +90 -0
  163. package/src/examples/simple-navigation.vitest.tsx +25 -25
  164. package/src/examples/simple-progress-bar.vitest.tsx +7 -7
  165. package/src/examples/swift-extension.vitest.tsx +5 -5
  166. package/src/examples/toast-action.vitest.tsx +4 -4
  167. package/src/extensions/dev.tsx +2 -1
  168. package/src/extensions/dev.vitest.tsx +17 -17
  169. package/src/globals.ts +9 -0
  170. package/src/index.tsx +21 -0
  171. package/src/package-json.tsx +24 -23
  172. package/src/platform/node/sqlite.ts +29 -13
  173. package/src/profiler.tsx +487 -0
  174. package/src/theme.tsx +11 -10
  175. package/src/utils/run-command.tsx +10 -19
  176. package/src/utils.tsx +0 -163
  177. package/src/examples/store.tsx +0 -4
  178. package/src/examples/store.vitest.tsx +0 -78
  179. package/src/extensions/home.tsx +0 -227
  180. package/src/extensions/store.tsx +0 -375
@@ -50,7 +50,8 @@ test('detail metadata showcase renders markdown and metadata together', async ()
50
50
 
51
51
 
52
52
  This detail view demonstrates markdown content alongside metadata.
53
- ---
53
+ ─────────────────────────────────────────────────────────────────────────────────────────────
54
+
54
55
  Summary
55
56
 
56
57
 
@@ -72,7 +73,8 @@ test('detail metadata showcase renders markdown and metadata together', async ()
72
73
  - Finishing the remaining user migrations
73
74
  - Implementing the new dashboard
74
75
  - Writing integration tests
75
- ---
76
+ ─────────────────────────────────────────────────────────────────────────────────────────────
77
+
76
78
  Last updated: January 20, 2024
77
79
 
78
80
  Basic Information
@@ -158,8 +160,6 @@ test('detail metadata showcase renders markdown and metadata together', async ()
158
160
 
159
161
 
160
162
 
161
-
162
-
163
163
 
164
164
  "
165
165
  `)
@@ -216,7 +216,8 @@ test('detail metadata renders long values in column layout', async () => {
216
216
 
217
217
 
218
218
  This detail view demonstrates markdown content alongside metadata.
219
- ---
219
+ ─────────────────────────────────────────────────────────────────────────────────────────────
220
+
220
221
  Summary
221
222
 
222
223
 
@@ -238,7 +239,8 @@ test('detail metadata renders long values in column layout', async () => {
238
239
  - Finishing the remaining user migrations
239
240
  - Implementing the new dashboard
240
241
  - Writing integration tests
241
- ---
242
+ ─────────────────────────────────────────────────────────────────────────────────────────────
243
+
242
244
  Last updated: January 20, 2024
243
245
 
244
246
  Basic Information
@@ -324,8 +326,6 @@ test('detail metadata renders long values in column layout', async () => {
324
326
 
325
327
 
326
328
 
327
-
328
-
329
329
 
330
330
  "
331
331
  `)
@@ -397,7 +397,8 @@ test('detail metadata renders tag lists with multiple items', async () => {
397
397
 
398
398
 
399
399
  This detail view demonstrates markdown content alongside metadata.
400
- ---
400
+ ─────────────────────────────────────────────────────────────────────────────────────────────
401
+
401
402
  Summary
402
403
 
403
404
 
@@ -419,7 +420,8 @@ test('detail metadata renders tag lists with multiple items', async () => {
419
420
  - Finishing the remaining user migrations
420
421
  - Implementing the new dashboard
421
422
  - Writing integration tests
422
- ---
423
+ ─────────────────────────────────────────────────────────────────────────────────────────────
424
+
423
425
  Last updated: January 20, 2024
424
426
 
425
427
  Basic Information
@@ -505,8 +507,6 @@ test('detail metadata renders tag lists with multiple items', async () => {
505
507
 
506
508
 
507
509
 
508
-
509
-
510
510
 
511
511
  "
512
512
  `)
@@ -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
- │ ← April
224
+ │ ← May
225
225
 
226
226
 
227
227
  ctrl ↵ submit tab navigate ^k actions
@@ -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
- │ ← April
282
+ │ ← May
283
283
 
284
284
 
285
285
  ctrl ↵ submit tab navigate ^k actions
@@ -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
- │ ← April
341
+ │ ← May
342
342
 
343
343
 
344
344
  ctrl ↵ submit tab navigate ^k actions
@@ -413,7 +413,7 @@ test('form dropdown navigation', async () => {
413
413
  ◇ Date of Birth
414
414
 
415
415
  │ ← 2026 →
416
- │ ← April
416
+ │ ← May
417
417
 
418
418
 
419
419
  ctrl ↵ submit tab navigate ^k actions
@@ -471,7 +471,7 @@ test('form dropdown navigation', async () => {
471
471
  ◇ Date of Birth
472
472
 
473
473
  │ ← 2026 →
474
- │ ← April
474
+ │ ← May
475
475
 
476
476
 
477
477
  ctrl ↵ submit tab navigate ^k actions
@@ -531,7 +531,7 @@ test('form dropdown navigation', async () => {
531
531
  ◇ Date of Birth
532
532
 
533
533
  │ ← 2026 →
534
- │ ← April
534
+ │ ← May
535
535
 
536
536
 
537
537
  ctrl ↵ submit tab navigate ^k actions
@@ -589,7 +589,7 @@ test('form dropdown navigation', async () => {
589
589
  ◇ Date of Birth
590
590
 
591
591
  │ ← 2026 →
592
- │ ← April
592
+ │ ← May
593
593
 
594
594
 
595
595
  ctrl ↵ submit tab navigate ^k actions
@@ -674,10 +674,9 @@ test('form scrolls with mouse wheel', async () => {
674
674
  "
675
675
 
676
676
 
677
-
678
677
 
679
- This demonstrates all available form input types. Use arrow ▀
680
- │ keys or Tab to navigate between fields.
678
+
679
+ │ keys or Tab to navigate between fields.
681
680
 
682
681
  ◇ Username
683
682
  │ Enter your username
@@ -687,6 +686,7 @@ test('form scrolls with mouse wheel', async () => {
687
686
  ◇ Password
688
687
  │ Enter secure password
689
688
 
689
+ │ Must be at least 8 characters
690
690
 
691
691
 
692
692
  ctrl ↵ submit tab navigate ^k actions
@@ -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
- │ ← April
766
+ │ ← May
767
767
 
768
768
 
769
769
  ctrl ↵ submit tab navigate ^k actions
@@ -102,7 +102,7 @@ test('form dropdown shows inline options', async () => {
102
102
 
103
103
 
104
104
 
105
- Dropdown Component Demo █
105
+ ▪︎ Dropdown Component Demo █
106
106
  │ Test dropdown with sections, multiple selection, and more █
107
107
  │ features █
108
108
  │ █
@@ -162,7 +162,7 @@ test('form dropdown shows inline options', async () => {
162
162
 
163
163
 
164
164
 
165
- Dropdown Component Demo █
165
+ ▪︎ Dropdown Component Demo █
166
166
  │ Test dropdown with sections, multiple selection, and more █
167
167
  │ features █
168
168
  │ █
@@ -219,7 +219,7 @@ test('form dropdown shows inline options', async () => {
219
219
 
220
220
 
221
221
 
222
- Dropdown Component Demo █
222
+ ▪︎ Dropdown Component Demo █
223
223
  │ Test dropdown with sections, multiple selection, and more █
224
224
  │ features █
225
225
  │ █
@@ -344,7 +344,7 @@ test('form dropdown keyboard navigation', async () => {
344
344
 
345
345
 
346
346
 
347
- Dropdown Component Demo █
347
+ ▪︎ Dropdown Component Demo █
348
348
  │ Test dropdown with sections, multiple selection, and more █
349
349
  │ features █
350
350
  │ █
@@ -401,7 +401,7 @@ test('form dropdown keyboard navigation', async () => {
401
401
 
402
402
 
403
403
 
404
- Dropdown Component Demo █
404
+ ▪︎ Dropdown Component Demo █
405
405
  │ Test dropdown with sections, multiple selection, and more █
406
406
  │ features █
407
407
  │ █
@@ -458,7 +458,7 @@ test('form dropdown keyboard navigation', async () => {
458
458
 
459
459
 
460
460
 
461
- Dropdown Component Demo █
461
+ ▪︎ Dropdown Component Demo █
462
462
  │ Test dropdown with sections, multiple selection, and more █
463
463
  │ features █
464
464
  │ █
@@ -515,7 +515,7 @@ test('form dropdown keyboard navigation', async () => {
515
515
 
516
516
 
517
517
 
518
- Dropdown Component Demo █
518
+ ▪︎ Dropdown Component Demo █
519
519
  │ Test dropdown with sections, multiple selection, and more █
520
520
  │ features █
521
521
  │ █
@@ -580,7 +580,7 @@ test('form dropdown with default value', async () => {
580
580
 
581
581
 
582
582
 
583
- Dropdown Component Demo █
583
+ ▪︎ Dropdown Component Demo █
584
584
  │ Test dropdown with sections, multiple selection, and more █
585
585
  │ features █
586
586
  │ █
@@ -637,7 +637,7 @@ test('form dropdown with default value', async () => {
637
637
 
638
638
 
639
639
 
640
- Dropdown Component Demo █
640
+ ▪︎ Dropdown Component Demo █
641
641
  │ Test dropdown with sections, multiple selection, and more █
642
642
  │ features █
643
643
  │ █
@@ -708,7 +708,7 @@ test('selecting second-to-last visible item should not scroll', async () => {
708
708
 
709
709
 
710
710
 
711
- Dropdown Component Demo █
711
+ ▪︎ Dropdown Component Demo █
712
712
  │ Test dropdown with sections, multiple selection, and more █
713
713
  │ features █
714
714
  │ █
@@ -765,7 +765,7 @@ test('selecting second-to-last visible item should not scroll', async () => {
765
765
 
766
766
 
767
767
 
768
- Dropdown Component Demo █
768
+ ▪︎ Dropdown Component Demo █
769
769
  │ Test dropdown with sections, multiple selection, and more █
770
770
  │ features █
771
771
  │ █
@@ -53,7 +53,7 @@ test(
53
53
 
54
54
 
55
55
 
56
- Form Scroll Test ▀
56
+ ▪︎ Form Scroll Test ▀
57
57
  │ Test scrolling behavior when navigating with Tab
58
58
 
59
59
  ◆ Field 1
@@ -147,7 +147,7 @@ test('form tagpicker shows inline options', async () => {
147
147
 
148
148
 
149
149
 
150
- TagPicker Component Demo
150
+ ▪︎ TagPicker Component Demo
151
151
  │ Test tag picker with multiple selection support
152
152
 
153
153
  ◆ Favorite Sport
@@ -207,7 +207,7 @@ test('form tagpicker shows inline options', async () => {
207
207
 
208
208
 
209
209
 
210
- TagPicker Component Demo
210
+ ▪︎ TagPicker Component Demo
211
211
  │ Test tag picker with multiple selection support
212
212
 
213
213
  ◆ Favorite Sport
@@ -264,7 +264,7 @@ test('form tagpicker shows inline options', async () => {
264
264
 
265
265
 
266
266
 
267
- TagPicker Component Demo
267
+ ▪︎ TagPicker Component Demo
268
268
  │ Test tag picker with multiple selection support
269
269
 
270
270
  ◆ Favorite Sport
@@ -389,7 +389,7 @@ test('form tagpicker keyboard navigation', async () => {
389
389
 
390
390
 
391
391
 
392
- TagPicker Component Demo
392
+ ▪︎ TagPicker Component Demo
393
393
  │ Test tag picker with multiple selection support
394
394
 
395
395
  ◆ Favorite Sport
@@ -446,7 +446,7 @@ test('form tagpicker keyboard navigation', async () => {
446
446
 
447
447
 
448
448
 
449
- TagPicker Component Demo
449
+ ▪︎ TagPicker Component Demo
450
450
  │ Test tag picker with multiple selection support
451
451
 
452
452
  ◆ Favorite Sport
@@ -503,7 +503,7 @@ test('form tagpicker keyboard navigation', async () => {
503
503
 
504
504
 
505
505
 
506
- TagPicker Component Demo
506
+ ▪︎ TagPicker Component Demo
507
507
  │ Test tag picker with multiple selection support
508
508
 
509
509
  ◆ Favorite Sport
@@ -560,7 +560,7 @@ test('form tagpicker keyboard navigation', async () => {
560
560
 
561
561
 
562
562
 
563
- TagPicker Component Demo
563
+ ▪︎ TagPicker Component Demo
564
564
  │ Test tag picker with multiple selection support
565
565
 
566
566
  ◆ Favorite Sport
@@ -625,7 +625,7 @@ test('form tagpicker with default value', async () => {
625
625
 
626
626
 
627
627
 
628
- TagPicker Component Demo
628
+ ▪︎ TagPicker Component Demo
629
629
  │ Test tag picker with multiple selection support
630
630
 
631
631
  ◆ Favorite Sport
@@ -682,7 +682,7 @@ test('form tagpicker with default value', async () => {
682
682
 
683
683
 
684
684
 
685
- TagPicker Component Demo
685
+ ▪︎ TagPicker Component Demo
686
686
  │ Test tag picker with multiple selection support
687
687
 
688
688
  ◆ Favorite Sport
@@ -746,7 +746,7 @@ test('form tagpicker with default value', async () => {
746
746
 
747
747
 
748
748
 
749
- TagPicker Component Demo
749
+ ▪︎ TagPicker Component Demo
750
750
  │ Test tag picker with multiple selection support
751
751
 
752
752
  ◆ Favorite Sport
@@ -770,7 +770,7 @@ test('form tagpicker with default value', async () => {
770
770
  │ ○ Poland
771
771
 
772
772
 
773
- Submitted Data
773
+ ▪︎ Submitted Data
774
774
  │ {
775
775
  │ "sports": [
776
776
  │ "basketball"
@@ -54,22 +54,13 @@ afterEach(() => {
54
54
  })
55
55
 
56
56
  test.skipIf(!extensionExists)('github extension shows command list on launch', async () => {
57
- // Wait for command list to appear (extension has multiple commands)
58
- // Don't match "Commands" alone - it falsely matches "Building 18 commands..." build log
59
57
  const initialView = await session.text({
60
- waitFor: (text) => /My Pull Requests|Search Repositories/i.test(text),
58
+ waitFor: (text) => text.includes('My Pul...quests') && text.includes('Search Repositorie'),
61
59
  timeout: 30000,
62
60
  })
63
61
 
64
- // Wait for the full command list to render.
65
- // The list can paint the first item before all descendants are registered.
66
- await session.text({
67
- waitFor: (text) => text.includes('My Pull Requests') && text.includes('Search Repositories'),
68
- timeout: 30000,
69
- })
70
-
71
- expect(initialView).toContain('My Pull Requests')
72
- expect(initialView).toContain('Search Repositories')
62
+ expect(initialView).toContain('My Pul...quests')
63
+ expect(initialView).toContain('Search Repositorie')
73
64
  expect(initialView).toMatchInlineSnapshot(`
74
65
  "
75
66
 
@@ -79,19 +70,19 @@ test.skipIf(!extensionExists)('github extension shows command list on launch', a
79
70
  > Search commands...
80
71
 
81
72
  Commands
82
- ›My Pull Requests List pull requests you created, participated in, or view
83
- Search Pull Requests Search recent pull requests globally in all repo view
84
- Create Pull Request Create a pull request in one of your GitHub repos view
85
- My Issues List issues created by you, assigned to you or mentioning y view
73
+ ›My Pul...questsList pull requests you cr... in, or were mentioned in. view
74
+ Search Pull Request Search recent pull requ...ly in all repositories. view
75
+ Create Pull Reques Create a pull request i...our GitHub repositories. view
76
+ My IssuesList issues created by you, ...ned to you or mentioning you. view
86
77
  Search Issues Search recent issues globally in all repositories. view
87
78
  Create Issue Create an issue in one of your GitHub repositories. view
88
79
  Create Branch Create a branch in one of your GitHub repositories view
89
- Search Repositories Search in your public or private repositories by view
80
+ Search Repositorie Search in your public o...te repositories by name. view
90
81
  My Latest Repositories List your repositories by latest updated view
91
82
  My Starred Repositories List repositories you have starred view
92
83
  Workflow Runs Manage workflow runs for a selected GitHub repository. view
93
- Notifications List inbox notifications from all repositories or a sel view
94
- Search Discussions Search recent Discussions globally in all reposito view
84
+ Notification List inbox notifications f...s or a selected repository. view
85
+ Search DiscussionsSearch recent Discussion...ally in all repositories view
95
86
  My Discussions Show your Discussions view
96
87
  My Projects Show your Projects view
97
88
 
@@ -108,7 +99,7 @@ test.skipIf(!extensionExists)('github extension shows command list on launch', a
108
99
  test.skipIf(!extensionExists)('github extension can navigate commands', async () => {
109
100
  // Wait for command list
110
101
  await session.text({
111
- waitFor: (text) => text.includes('My Pull Requests') && text.includes('Search Repositories'),
102
+ waitFor: (text) => text.includes('My Pul...quests') && text.includes('Search Repositorie'),
112
103
  timeout: 30000,
113
104
  })
114
105
 
@@ -128,19 +119,19 @@ test.skipIf(!extensionExists)('github extension can navigate commands', async ()
128
119
  > Search commands...
129
120
 
130
121
  Commands
131
- My Pull Requests List pull requests you created, participated in, or view
132
- Search Pull Requests Search recent pull requests globally in all repo view
133
- ›Create Pull Request Create a pull request in one of your GitHub repos view
134
- My Issues List issues created by you, assigned to you or mentioning y view
122
+ My Pul...questsList pull requests you cr... in, or were mentioned in. view
123
+ Search Pull Request Search recent pull requ...ly in all repositories. view
124
+ ›Create Pull Reques Create a pull request i...our GitHub repositories. view
125
+ My IssuesList issues created by you, ...ned to you or mentioning you. view
135
126
  Search Issues Search recent issues globally in all repositories. view
136
127
  Create Issue Create an issue in one of your GitHub repositories. view
137
128
  Create Branch Create a branch in one of your GitHub repositories view
138
- Search Repositories Search in your public or private repositories by view
129
+ Search Repositorie Search in your public o...te repositories by name. view
139
130
  My Latest Repositories List your repositories by latest updated view
140
131
  My Starred Repositories List repositories you have starred view
141
132
  Workflow Runs Manage workflow runs for a selected GitHub repository. view
142
- Notifications List inbox notifications from all repositories or a sel view
143
- Search Discussions Search recent Discussions globally in all reposito view
133
+ Notification List inbox notifications f...s or a selected repository. view
134
+ Search DiscussionsSearch recent Discussion...ally in all repositories view
144
135
  My Discussions Show your Discussions view
145
136
  My Projects Show your Projects view
146
137
 
@@ -157,7 +148,7 @@ test.skipIf(!extensionExists)('github extension can navigate commands', async ()
157
148
  test.skipIf(!extensionExists)('github extension can open actions panel', async () => {
158
149
  // Wait for command list
159
150
  await session.text({
160
- waitFor: (text) => /My Pull Requests|Search Repositories/i.test(text),
151
+ waitFor: (text) => /My Pu.*uest|Search .*sitories/i.test(text),
161
152
  timeout: 30000,
162
153
  })
163
154
 
@@ -209,7 +200,7 @@ test.skipIf(!extensionExists)('github extension can open actions panel', async (
209
200
  test.skipIf(!extensionExists)('github extension can search commands', async () => {
210
201
  // Wait for command list
211
202
  await session.text({
212
- waitFor: (text) => /My Pull Requests|Search Repositories/i.test(text),
203
+ waitFor: (text) => /My Pu.*uest|Search .*sitories/i.test(text),
213
204
  timeout: 30000,
214
205
  })
215
206
 
@@ -219,7 +210,7 @@ test.skipIf(!extensionExists)('github extension can search commands', async () =
219
210
  await session.type('workflow')
220
211
 
221
212
  const filteredList = await session.text({
222
- waitFor: (text) => /Workflow Runs/i.test(text) && !/My Pull Requests/i.test(text),
213
+ waitFor: (text) => /Workflow Runs/i.test(text) && !/My Pu.*uest/i.test(text),
223
214
  timeout: 5000,
224
215
  })
225
216
 
@@ -239,11 +230,11 @@ test.skipIf(!extensionExists)('github extension can search commands', async () =
239
230
 
240
231
 
241
232
 
242
- ↵ run command ↑↓ navigate ^k actions :vim powered by termcast.app
243
233
 
244
234
 
245
235
 
246
236
 
237
+ ↵ run command ↑↓ navigate ^k actions :vim powered by termcast.app
247
238
 
248
239
 
249
240
 
@@ -36,7 +36,7 @@ test('initial render shows bar chart for Monthly Budget', async () => {
36
36
 
37
37
  ›Monthly Budget Spent / Remaining / Savings │ ┌Spent: 78.6%┐
38
38
  Disk Usage System / Apps / Media / Free │
39
- Investment Portfolio Stocks / Bonds / Cash / C
39
+ Investm...ortfoli Stocks / Bon.../ Real Estate
40
40
  CPU Time User / System / IO Wait / Idle │ ────────────────────────────────────────────
41
41
  Revenue by Product 6 product lines │
42
42
  A/B Test Split Control vs Variant (50/50) │ Total: $6,174
@@ -45,18 +45,18 @@ test('initial render shows bar chart for Monthly Budget', async () => {
45
45
  Equal Distribution 10 equal segments │
46
46
  Custom Colors Explicit color per segment │ Saved: 10.0%
47
47
  Needs vs Wants 50/30/20 budget rule │
48
- Stress Test (20 items) Many small equal segmen
48
+ Stress Test (20 items)Many small...al segments
49
+
50
+
51
+
52
+
53
+
54
+
55
+
49
56
 
50
57
 
51
58
  ↵ open detail ↑↓ navigate ^k actions :vi │
52
59
 
53
-
54
-
55
-
56
-
57
-
58
-
59
-
60
60
  "
61
61
  `)
62
62
  expect(text).toContain('Monthly Budget')
@@ -93,7 +93,7 @@ test('navigate to Market Share - dominant + tiny segments', async () => {
93
93
 
94
94
  Monthly Budget Spent / Remaining / Savings │ ┌Leader: 85.0%┐
95
95
  Disk Usage System / Apps / Media / Free │
96
- Investment Portfolio Stocks / Bonds / Cash / C
96
+ Investm...ortfoli Stocks / Bon.../ Real Estate
97
97
  CPU Time User / System / IO Wait / Idle │ ────────────────────────────────────────────
98
98
  Revenue by Product 6 product lines │
99
99
  A/B Test Split Control vs Variant (50/50) │ HHI: 7,264 (monopoly)
@@ -102,18 +102,18 @@ test('navigate to Market Share - dominant + tiny segments', async () => {
102
102
  Equal Distribution 10 equal segments │
103
103
  Custom Colors Explicit color per segment │ Visible: Tiny ones hidden
104
104
  Needs vs Wants 50/30/20 budget rule │
105
- Stress Test (20 items) Many small equal segmen
105
+ Stress Test (20 items)Many small...al segments
106
+
107
+
108
+
109
+
110
+
111
+
112
+
106
113
 
107
114
 
108
115
  ↵ open detail ↑↓ navigate ^k actions :vi │
109
116
 
110
-
111
-
112
-
113
-
114
-
115
-
116
-
117
117
  "
118
118
  `)
119
119
  expect(text).toContain('Market Share')
@@ -149,7 +149,7 @@ test('navigate to Equal Distribution - 10 segments', async () => {
149
149
 
150
150
  Monthly Budget Spent / Remaining / Savings │
151
151
  Disk Usage System / Apps / Media / Free │
152
- Investment Portfolio Stocks / Bonds / Cash / C │ ────────────────────────────────────────────
152
+ Investm...ortfoli Stocks / Bon.../ Real Estate │ ────────────────────────────────────────────
153
153
  CPU Time User / System / IO Wait / Idle │
154
154
  Revenue by Product 6 product lines │ Segments: 10
155
155
  A/B Test Split Control vs Variant (50/50) │
@@ -158,18 +158,18 @@ test('navigate to Equal Distribution - 10 segments', async () => {
158
158
  ›Equal Distribution 10 equal segments │
159
159
  Custom Colors Explicit color per segment │
160
160
  Needs vs Wants 50/30/20 budget rule │
161
- Stress Test (20 items) Many small equal segmen
161
+ Stress Test (20 items)Many small...al segments
162
+
163
+
164
+
165
+
166
+
167
+
168
+
162
169
 
163
170
 
164
171
  ↵ open detail ↑↓ navigate ^k actions :vi │
165
172
 
166
-
167
-
168
-
169
-
170
-
171
-
172
-
173
173
  "
174
174
  `)
175
175
  expect(text).toContain('Equal Distribution')
@@ -205,7 +205,7 @@ test('navigate to Stress Test - 20 segments', async () => {
205
205
 
206
206
  Monthly Budget Spent / Remaining / Savings │
207
207
  Disk Usage System / Apps / Media / Free │
208
- Investment Portfolio Stocks / Bonds / Cash / C │ ────────────────────────────────────────────
208
+ Investm...ortfoli Stocks / Bon.../ Real Estate │ ────────────────────────────────────────────
209
209
  CPU Time User / System / IO Wait / Idle │
210
210
  Revenue by Product 6 product lines │ Segments: 20
211
211
  A/B Test Split Control vs Variant (50/50) │
@@ -214,18 +214,18 @@ test('navigate to Stress Test - 20 segments', async () => {
214
214
  Equal Distribution 10 equal segments │
215
215
  Custom Colors Explicit color per segment │
216
216
  Needs vs Wants 50/30/20 budget rule │
217
- ›Stress Test (20 items) Many small equal segmen
217
+ ›Stress Test (20 items)Many small...al segments
218
+
219
+
220
+
221
+
222
+
223
+
224
+
218
225
 
219
226
 
220
227
  ↵ open detail ↑↓ navigate ^k actions :vi │
221
228
 
222
-
223
-
224
-
225
-
226
-
227
-
228
-
229
229
  "
230
230
  `)
231
231
  expect(text).toContain('Stress Test')
@@ -24,7 +24,7 @@ function GraphMultiSeries() {
24
24
  <Detail
25
25
  markdown="# Multi-Series Chart"
26
26
  metadata={
27
- <Graph height={12} xLabels={xLabels} yTicks={5}>
27
+ <Graph variant='area' height={12} xLabels={xLabels} yTicks={5}>
28
28
  <Graph.Line data={prices} color={Color.Orange} title="Price" />
29
29
  <Graph.Line data={sma} color={Color.Blue} title="SMA(5)" />
30
30
  </Graph>