termcast 1.3.50 → 1.3.52
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/apis/environment.d.ts +1 -0
- package/dist/apis/environment.d.ts.map +1 -1
- package/dist/apis/environment.js +5 -0
- package/dist/apis/environment.js.map +1 -1
- package/dist/app.d.ts +33 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +1130 -0
- package/dist/app.js.map +1 -0
- package/dist/cli.js +80 -0
- package/dist/cli.js.map +1 -1
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +5 -2
- package/dist/compile.js.map +1 -1
- package/dist/components/actions.d.ts +4 -1
- package/dist/components/actions.d.ts.map +1 -1
- package/dist/components/actions.js +8 -5
- package/dist/components/actions.js.map +1 -1
- package/dist/components/detail.d.ts.map +1 -1
- package/dist/components/detail.js +21 -18
- package/dist/components/detail.js.map +1 -1
- package/dist/components/dropdown.d.ts.map +1 -1
- package/dist/components/dropdown.js +3 -2
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/footer.d.ts +6 -0
- package/dist/components/footer.d.ts.map +1 -1
- package/dist/components/footer.js +15 -6
- package/dist/components/footer.js.map +1 -1
- package/dist/components/form/checkbox.d.ts.map +1 -1
- package/dist/components/form/checkbox.js +1 -13
- package/dist/components/form/checkbox.js.map +1 -1
- package/dist/components/form/date-picker.js +2 -2
- package/dist/components/form/date-picker.js.map +1 -1
- package/dist/components/form/description.js +1 -1
- package/dist/components/form/description.js.map +1 -1
- package/dist/components/form/dropdown.d.ts.map +1 -1
- package/dist/components/form/dropdown.js +19 -3
- package/dist/components/form/dropdown.js.map +1 -1
- package/dist/components/form/file-picker.d.ts.map +1 -1
- package/dist/components/form/file-picker.js +22 -4
- package/dist/components/form/file-picker.js.map +1 -1
- package/dist/components/form/index.d.ts +3 -1
- package/dist/components/form/index.d.ts.map +1 -1
- package/dist/components/form/index.js +7 -5
- package/dist/components/form/index.js.map +1 -1
- package/dist/components/form/password-field.js +3 -3
- package/dist/components/form/password-field.js.map +1 -1
- package/dist/components/form/text-area.d.ts.map +1 -1
- package/dist/components/form/text-area.js +29 -6
- package/dist/components/form/text-area.js.map +1 -1
- package/dist/components/form/text-field.js +3 -3
- package/dist/components/form/text-field.js.map +1 -1
- package/dist/components/graph.d.ts.map +1 -1
- package/dist/components/graph.js +21 -25
- package/dist/components/graph.js.map +1 -1
- package/dist/components/heatmap.d.ts +80 -0
- package/dist/components/heatmap.d.ts.map +1 -0
- package/dist/components/heatmap.js +424 -0
- package/dist/components/heatmap.js.map +1 -0
- package/dist/components/list.d.ts +2 -0
- package/dist/components/list.d.ts.map +1 -1
- package/dist/components/list.js +91 -58
- package/dist/components/list.js.map +1 -1
- package/dist/components/markdown.d.ts +7 -0
- package/dist/components/markdown.d.ts.map +1 -0
- package/dist/components/markdown.js +19 -0
- package/dist/components/markdown.js.map +1 -0
- package/dist/components/metadata.d.ts.map +1 -1
- package/dist/components/metadata.js +4 -1
- package/dist/components/metadata.js.map +1 -1
- package/dist/components/progress-bar.d.ts +37 -0
- package/dist/components/progress-bar.d.ts.map +1 -0
- package/dist/components/progress-bar.js +34 -0
- package/dist/components/progress-bar.js.map +1 -0
- package/dist/components/table.d.ts +3 -2
- package/dist/components/table.d.ts.map +1 -1
- package/dist/components/table.js +78 -63
- package/dist/components/table.js.map +1 -1
- package/dist/diagram-parser.d.ts +17 -3
- package/dist/diagram-parser.d.ts.map +1 -1
- package/dist/diagram-parser.js +17 -3
- package/dist/diagram-parser.js.map +1 -1
- package/dist/examples/list-slot.d.ts +2 -0
- package/dist/examples/list-slot.d.ts.map +1 -0
- package/dist/examples/list-slot.js +14 -0
- package/dist/examples/list-slot.js.map +1 -0
- package/dist/examples/list-with-dropdown.js +2 -4
- package/dist/examples/list-with-dropdown.js.map +1 -1
- package/dist/examples/simple-heatmap.d.ts +2 -0
- package/dist/examples/simple-heatmap.d.ts.map +1 -0
- package/dist/examples/simple-heatmap.js +37 -0
- package/dist/examples/simple-heatmap.js.map +1 -0
- package/dist/examples/simple-progress-bar.d.ts +2 -0
- package/dist/examples/simple-progress-bar.d.ts.map +1 -0
- package/dist/examples/simple-progress-bar.js +36 -0
- package/dist/examples/simple-progress-bar.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/date-picker-widget.d.ts.map +1 -1
- package/dist/internal/date-picker-widget.js +5 -4
- package/dist/internal/date-picker-widget.js.map +1 -1
- package/dist/internal/navigation.d.ts.map +1 -1
- package/dist/internal/navigation.js +7 -2
- package/dist/internal/navigation.js.map +1 -1
- package/dist/internal/providers.d.ts.map +1 -1
- package/dist/internal/providers.js +42 -4
- package/dist/internal/providers.js.map +1 -1
- package/dist/logger.js +6 -1
- package/dist/logger.js.map +1 -1
- package/dist/state.d.ts +2 -0
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +31 -2
- package/dist/state.js.map +1 -1
- package/dist/theme.d.ts +1 -0
- package/dist/theme.d.ts.map +1 -1
- package/dist/theme.js +23 -1
- package/dist/theme.js.map +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +6 -1
- package/dist/utils.js.map +1 -1
- package/package.json +3 -3
- package/src/apis/environment.tsx +6 -0
- package/src/app.tsx +1492 -0
- package/src/assets/default-app-icon.png +0 -0
- package/src/cli.tsx +105 -0
- package/src/compile.tsx +5 -2
- package/src/components/actions.tsx +9 -6
- package/src/components/detail.tsx +33 -23
- package/src/components/dropdown.tsx +3 -2
- package/src/components/footer.tsx +40 -7
- package/src/components/form/checkbox.tsx +2 -17
- package/src/components/form/date-picker.tsx +2 -2
- package/src/components/form/description.tsx +1 -1
- package/src/components/form/dropdown.tsx +22 -3
- package/src/components/form/file-picker.tsx +33 -10
- package/src/components/form/index.tsx +11 -7
- package/src/components/form/password-field.tsx +3 -3
- package/src/components/form/text-area.tsx +31 -6
- package/src/components/form/text-field.tsx +3 -3
- package/src/components/graph.tsx +21 -24
- package/src/components/heatmap.tsx +602 -0
- package/src/components/list.tsx +147 -78
- package/src/components/markdown.tsx +30 -0
- package/src/components/metadata.tsx +9 -2
- package/src/components/progress-bar.tsx +112 -0
- package/src/components/table.tsx +88 -71
- package/src/diagram-parser.tsx +17 -3
- package/src/examples/bar-graph-weekly.vitest.tsx +4 -4
- package/src/examples/detail-metadata-showcase.vitest.tsx +12 -12
- package/src/examples/form-basic.vitest.tsx +117 -16
- package/src/examples/graph-bar-chart.vitest.tsx +7 -7
- package/src/examples/graph-row.vitest.tsx +45 -45
- package/src/examples/graph-styles.vitest.tsx +19 -19
- package/src/examples/internal/descendants-rerender.vitest.tsx +94 -46
- package/src/examples/internal/simple-scrollbox.vitest.tsx +38 -14
- package/src/examples/list-dropdown-default.vitest.tsx +78 -58
- package/src/examples/list-slot.tsx +38 -0
- package/src/examples/list-with-detail.vitest.tsx +8 -8
- package/src/examples/list-with-dropdown.tsx +2 -2
- package/src/examples/list-with-dropdown.vitest.tsx +16 -16
- package/src/examples/list-with-sections.vitest.tsx +45 -32
- package/src/examples/simple-detail-table.vitest.tsx +2 -2
- package/src/examples/simple-file-picker.vitest.tsx +1 -1
- package/src/examples/simple-grid.vitest.tsx +27 -53
- package/src/examples/simple-heatmap.tsx +63 -0
- package/src/examples/simple-heatmap.vitest.tsx +88 -0
- package/src/examples/simple-progress-bar.tsx +82 -0
- package/src/examples/simple-progress-bar.vitest.tsx +72 -0
- package/src/examples/table-edge-cases.vitest.tsx +1 -1
- package/src/index.tsx +19 -0
- package/src/internal/date-picker-widget.tsx +23 -12
- package/src/internal/navigation.tsx +7 -2
- package/src/internal/providers.tsx +48 -3
- package/src/logger.tsx +6 -1
- package/src/state.tsx +38 -2
- package/src/theme.tsx +26 -2
- package/src/utils.tsx +6 -1
|
@@ -39,17 +39,17 @@ test('side detail shows two graphs in a row', async () => {
|
|
|
39
39
|
Mixed Variants Area left, Striped right │ Filled chart (right) shows memory steadily
|
|
40
40
|
Sparse Data (Zeros) Filled vs Striped with zer │ climbing.
|
|
41
41
|
│
|
|
42
|
-
│ 100│
|
|
43
|
-
│ │
|
|
44
|
-
│ 67│
|
|
45
|
-
│ │
|
|
46
|
-
│ │
|
|
47
|
-
│ 33
|
|
48
|
-
│
|
|
49
|
-
│ 0
|
|
50
|
-
│ 0h 6h
|
|
42
|
+
│ 100│ ⡀ 100│
|
|
43
|
+
│ │ ⣠ ⢠⣾⣷⡀ │ ▖▖▌▌
|
|
44
|
+
│ 67│ ⣰⣿⣧ ⢀⣿⣿⣿⣇ 67│ ▖▖▌▌▌▌▌▌▌
|
|
45
|
+
│ │ ⢠⣷⣿⣿⣿⣆ ⣾⣿⣿⣿⣿⡄ │ ▖▖▌▌▌▌▌▌▌▌▌▌▌▌
|
|
46
|
+
│ │ ⢀⣿⣿⣿⣿⣿⣿⣆⣸⣿⣿⣿⣿⣿⣿⣄ │▖▖▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
47
|
+
│ 33│⣀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧ 33│▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
48
|
+
│ │⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ │▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
49
|
+
│ 0│⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ 0│▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
50
|
+
│ 0h 6h 12h 18h24h 0h 6h 12h 18h24h
|
|
51
51
|
│
|
|
52
|
-
│
|
|
52
|
+
│ ────────────────────────────────────────────
|
|
53
53
|
│
|
|
54
54
|
│ CPU Peak: 90%
|
|
55
55
|
│
|
|
@@ -96,17 +96,17 @@ test('enter pushes full detail with two graphs', async () => {
|
|
|
96
96
|
Filled chart (right) shows memory steadily climbing.
|
|
97
97
|
|
|
98
98
|
100│ 100│
|
|
99
|
-
│ ⢀⣠⣴⡄ │
|
|
100
|
-
│ ⣠⣦ ⣠⣿⣿⣿⣿⣦ │
|
|
101
|
-
│ ⢠⣾⣿⣿⣷⡄ ⢀⣼⣿⣿⣿⣿⣿⣿⣷⡀ │
|
|
102
|
-
67│ ⢀⡀ ⣰⣿⣿⣿⣿⣿⣿⡄ ⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀ 67│
|
|
103
|
-
│ ⢠⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⡄ ⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄ │
|
|
104
|
-
│ ⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀ ⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⡀ │
|
|
105
|
-
33│ ⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄ 33
|
|
106
|
-
│⣀⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷
|
|
107
|
-
│⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
|
|
108
|
-
│⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
|
|
109
|
-
0│⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ 0
|
|
99
|
+
│ ⢀⣠⣴⡄ │ ▖
|
|
100
|
+
│ ⣠⣦ ⣠⣿⣿⣿⣿⣦ │ ▖▖▖▖▖▌▌▌▌▌
|
|
101
|
+
│ ⢠⣾⣿⣿⣷⡄ ⢀⣼⣿⣿⣿⣿⣿⣿⣷⡀ │ ▖▖▖▖▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
102
|
+
67│ ⢀⡀ ⣰⣿⣿⣿⣿⣿⣿⡄ ⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀ 67│ ▖▖▖▖▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
103
|
+
│ ⢠⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⡄ ⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄ │ ▖▖▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
104
|
+
│ ⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀ ⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⡀ │ ▖▖▖▖▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
105
|
+
33│ ⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄ 33│▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
106
|
+
│⣀⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷ │▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
107
|
+
│⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ │▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
108
|
+
│⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ │▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
109
|
+
0│⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ 0│▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
110
110
|
|
|
111
111
|
|
|
112
112
|
esc go back ^k actions ↵ Go Back powered by termcast.app
|
|
@@ -159,13 +159,13 @@ test('esc returns from detail to list', async () => {
|
|
|
159
159
|
Sparse Data (Zeros) Filled vs Striped with zer │ climbing.
|
|
160
160
|
│
|
|
161
161
|
│ 100│ ⡀ 100│
|
|
162
|
-
│ │ ⣠ ⢠⣾⣷⡀ │
|
|
163
|
-
│ 67│ ⣰⣿⣧ ⢀⣿⣿⣿⣇ 67│
|
|
164
|
-
│ │ ⢠⣷⣿⣿⣿⣆ ⣾⣿⣿⣿⣿⡄ │
|
|
165
|
-
│ │ ⢀⣿⣿⣿⣿⣿⣿⣆⣸⣿⣿⣿⣿⣿⣿⣄
|
|
166
|
-
│ 33│⣀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧ 33
|
|
167
|
-
│ │⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
|
|
168
|
-
│ 0│⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ 0
|
|
162
|
+
│ │ ⣠ ⢠⣾⣷⡀ │ ▖▖▌▌
|
|
163
|
+
│ 67│ ⣰⣿⣧ ⢀⣿⣿⣿⣇ 67│ ▖▖▌▌▌▌▌▌▌
|
|
164
|
+
│ │ ⢠⣷⣿⣿⣿⣆ ⣾⣿⣿⣿⣿⡄ │ ▖▖▌▌▌▌▌▌▌▌▌▌▌▌
|
|
165
|
+
│ │ ⢀⣿⣿⣿⣿⣿⣿⣆⣸⣿⣿⣿⣿⣿⣿⣄ │▖▖▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
166
|
+
│ 33│⣀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧ 33│▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
167
|
+
│ │⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ │▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
168
|
+
│ 0│⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ 0│▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
169
169
|
│ 0h 6h 12h 18h24h 0h 6h 12h 18h24h
|
|
170
170
|
│
|
|
171
171
|
│ ────────────────────────────────────────────
|
|
@@ -215,14 +215,14 @@ test('sparse data with zeros shows baseline', async () => {
|
|
|
215
215
|
Mixed Variants Area left, Striped right │ baseline line so bars are visible even at
|
|
216
216
|
›Sparse Data (Zeros) Filled vs Striped with zer │ zero.
|
|
217
217
|
│
|
|
218
|
-
│ 100│
|
|
219
|
-
│ │
|
|
220
|
-
│ 67│
|
|
221
|
-
│ │
|
|
222
|
-
│ │
|
|
223
|
-
│ 33│
|
|
224
|
-
│ │
|
|
225
|
-
│ 0
|
|
218
|
+
│ 100│ ▖ 100│ ▖
|
|
219
|
+
│ │ ▖ ▖▌ │ ▖ ▖▌
|
|
220
|
+
│ 67│ ▌ ▌▌ 67│ ▌ ▌▌
|
|
221
|
+
│ │ ▌▌ ▖▌ ▌▌ │ ▌▌ ▖▌ ▌▌
|
|
222
|
+
│ │ ▌▌ ▌▌ ▌▌▖ │ ▌▌ ▌▌ ▌▌▖
|
|
223
|
+
│ 33│ ▖ ▌▌▌ ▌▌▖▌▌▌▌ 33│ ▖ ▌▌▌ ▌▌▖ ▌▌▌
|
|
224
|
+
│ │ ▌▌▌▌▌▌ ▌▌▌▌▌▌▌▌ │ ▌▌▌▌▌▌▌▌▌▌ ▌▌▌
|
|
225
|
+
│ 0│▖▌▌▌▌▌▌▌▖▌▌▌▌▌▌▌▌▖ 0│▖▌▌▌▌▌▌▌▌▌▌▌▖▌▌▌▖
|
|
226
226
|
│ 0h 6h 12h 18h24h 0h 6h 12h 18h24h
|
|
227
227
|
│
|
|
228
228
|
│ ────────────────────────────────────────────
|
|
@@ -273,14 +273,14 @@ test('navigate to striped pair', async () => {
|
|
|
273
273
|
│ - Expenses: $8k to $45k
|
|
274
274
|
│
|
|
275
275
|
│
|
|
276
|
-
│ 78│
|
|
277
|
-
│ │
|
|
278
|
-
│ 54│
|
|
279
|
-
│ │
|
|
280
|
-
│ │
|
|
281
|
-
│ 31│
|
|
282
|
-
│ │
|
|
283
|
-
│ 7
|
|
276
|
+
│ 78│ ▖ 47│ ▖
|
|
277
|
+
│ │ ▖▌▌▌ │ ▖▖▌▌▌
|
|
278
|
+
│ 54│ ▖▌▌▌▌▌ 33│ ▖▖▌▌▌▌▌
|
|
279
|
+
│ │ ▖▖▌▌▌▌▌▌▌ │ ▖▌▌▌▌▌▌▌▌
|
|
280
|
+
│ │ ▖ ▌▌▌▌▌▌▌▌▌▌ │ ▖▖▌▌▌▌▌▌▌▌▌▌
|
|
281
|
+
│ 31│ ▖▌▌▌▌▌▌▌▌▌▌▌▌▌ 20│ ▖▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
282
|
+
│ │ ▖ ▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌ │ ▖▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
283
|
+
│ 7│▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌ 6│▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
284
284
|
│ Jan Apr Jul Oct Jan Apr Jul Oct
|
|
285
285
|
│
|
|
286
286
|
│ ───────────────────────────────────────────
|
|
@@ -291,5 +291,5 @@ test('navigate to striped pair', async () => {
|
|
|
291
291
|
`)
|
|
292
292
|
|
|
293
293
|
expect(text).toContain('›Revenue vs Expenses')
|
|
294
|
-
expect(text).toMatch(/[
|
|
294
|
+
expect(text).toMatch(/[▌▘▖]/)
|
|
295
295
|
}, 30000)
|
|
@@ -93,18 +93,18 @@ test('filled style renders block characters', async () => {
|
|
|
93
93
|
Filled - Yellow CPU High contrast on │ Q2: $25k → Q3: $50k (+100%)
|
|
94
94
|
Filled - Magenta Waves Smooth curve │ Q3: $50k → Q4: $75k (+50%)
|
|
95
95
|
Striped - Purple/Orange Warm alterna │
|
|
96
|
-
Striped - Blue/Red High contrast str │ 78│
|
|
97
|
-
Striped - Theme Default primary + ac │ │
|
|
98
|
-
Striped - Green/Yellow Nature-inspir │ │
|
|
99
|
-
Striped - Red/Magenta Warm gradient │ 54│
|
|
100
|
-
│ │
|
|
101
|
-
│ │
|
|
102
|
-
↵ open detail ↑↓ navigate ^k act │ 31│
|
|
96
|
+
Striped - Blue/Red High contrast str │ 78│ ▖
|
|
97
|
+
Striped - Theme Default primary + ac │ │ ▖▌▖▌▌
|
|
98
|
+
Striped - Green/Yellow Nature-inspir │ │ ▖▖▖▌▌▌▌▌▌
|
|
99
|
+
Striped - Red/Magenta Warm gradient │ 54│ ▖▌▌▌▌▌▌▌▌▌▌
|
|
100
|
+
│ │ ▖▖▖▌▌▌▌▌▌▌▌▌▌▌▌
|
|
101
|
+
│ │ ▖ ▖▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
102
|
+
↵ open detail ↑↓ navigate ^k act │ 31│ ▖▌▌▖▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌ ▼
|
|
103
103
|
|
|
104
104
|
"
|
|
105
105
|
`)
|
|
106
106
|
|
|
107
|
-
expect(text).toMatch(/[
|
|
107
|
+
expect(text).toMatch(/[▌▘▖]/)
|
|
108
108
|
expect(text).toContain('›Filled - Red')
|
|
109
109
|
}, 30000)
|
|
110
110
|
|
|
@@ -136,16 +136,16 @@ test('striped style renders alternating columns', async () => {
|
|
|
136
136
|
|
|
137
137
|
> Search...
|
|
138
138
|
|
|
139
|
-
Area - Stock Price Orange braille do │ 211│
|
|
140
|
-
Area - Multi Series CPU + Memory ove │ │
|
|
141
|
-
Area - Waves Purple + Magenta sine/c │ │
|
|
142
|
-
Area - Blue Revenue Single series, a │ 189│
|
|
143
|
-
Filled - Red Revenue Solid block gro │ │
|
|
144
|
-
Filled - Green Temp Daily temperatur │ │
|
|
145
|
-
Filled - Yellow CPU High contrast on │ 167│
|
|
146
|
-
Filled - Magenta Waves Smooth curve │ │
|
|
147
|
-
›Striped - Purple/Orange Warm alterna │
|
|
148
|
-
Striped - Blue/Red High contrast str │ 145
|
|
139
|
+
Area - Stock Price Orange braille do │ 211│ ▖ ▲
|
|
140
|
+
Area - Multi Series CPU + Memory ove │ │ ▖▖▌▌ █
|
|
141
|
+
Area - Waves Purple + Magenta sine/c │ │ ▖▖▖▌▌▌▌▌ █
|
|
142
|
+
Area - Blue Revenue Single series, a │ 189│ ▖▖▌▖▌▌▌▌▌▌▌▌▌
|
|
143
|
+
Filled - Red Revenue Solid block gro │ │ ▖▖▖▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
144
|
+
Filled - Green Temp Daily temperatur │ │ ▖▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
145
|
+
Filled - Yellow CPU High contrast on │ 167│ ▖▖▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
146
|
+
Filled - Magenta Waves Smooth curve │ │ ▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
147
|
+
›Striped - Purple/Orange Warm alterna │ │▖▌▖▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
148
|
+
Striped - Blue/Red High contrast str │ 145│▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
149
149
|
Striped - Theme Default primary + ac │ 1 5 10 15 20
|
|
150
150
|
Striped - Green/Yellow Nature-inspir │
|
|
151
151
|
Striped - Red/Magenta Warm gradient │ ─────────────────────────────────
|
|
@@ -156,7 +156,7 @@ test('striped style renders alternating columns', async () => {
|
|
|
156
156
|
"
|
|
157
157
|
`)
|
|
158
158
|
|
|
159
|
-
expect(text).toMatch(/[
|
|
159
|
+
expect(text).toMatch(/[▌▘▖]/)
|
|
160
160
|
expect(text).toContain('›Striped - Purple')
|
|
161
161
|
}, 30000)
|
|
162
162
|
|
|
@@ -30,17 +30,29 @@ test(
|
|
|
30
30
|
[1] Banana (without hook, renders: 8)
|
|
31
31
|
[2] Cherry (without hook, renders: 9)
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
│
|
|
35
|
-
│ Render Counts:
|
|
36
|
-
│ parent: 1
|
|
37
|
-
│ parentWithHook: 0
|
|
38
|
-
│ independentChild: 0
|
|
39
|
-
│ independentChildWithHook: 0
|
|
40
|
-
│ descendantItem: 3
|
|
41
|
-
│ descendantItemWithHook: 0
|
|
42
|
-
│
|
|
43
|
-
|
|
33
|
+
┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|
|
34
|
+
│ │
|
|
35
|
+
│ Render Counts: │
|
|
36
|
+
│ parent: 1 │
|
|
37
|
+
│ parentWithHook: 0 │
|
|
38
|
+
│ independentChild: 0 │
|
|
39
|
+
│ independentChildWithHook: 0 │
|
|
40
|
+
│ descendantItem: 3 │
|
|
41
|
+
│ descendantItemWithHook: 0 │
|
|
42
|
+
│ │
|
|
43
|
+
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
44
56
|
|
|
45
57
|
|
|
46
58
|
"
|
|
@@ -75,17 +87,29 @@ test(
|
|
|
75
87
|
[1] Banana (without hook, renders: 8)
|
|
76
88
|
[2] Cherry (without hook, renders: 9)
|
|
77
89
|
|
|
78
|
-
|
|
79
|
-
│
|
|
80
|
-
│ Render Counts:
|
|
81
|
-
│ parent: 0
|
|
82
|
-
│ parentWithHook: 1
|
|
83
|
-
│ independentChild: 0
|
|
84
|
-
│ independentChildWithHook: 0
|
|
85
|
-
│ descendantItem: 3
|
|
86
|
-
│ descendantItemWithHook: 0
|
|
87
|
-
│
|
|
88
|
-
|
|
90
|
+
┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|
|
91
|
+
│ │
|
|
92
|
+
│ Render Counts: │
|
|
93
|
+
│ parent: 0 │
|
|
94
|
+
│ parentWithHook: 1 │
|
|
95
|
+
│ independentChild: 0 │
|
|
96
|
+
│ independentChildWithHook: 0 │
|
|
97
|
+
│ descendantItem: 3 │
|
|
98
|
+
│ descendantItemWithHook: 0 │
|
|
99
|
+
│ │
|
|
100
|
+
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
|
|
89
113
|
|
|
90
114
|
"
|
|
91
115
|
`)
|
|
@@ -115,26 +139,38 @@ test(
|
|
|
115
139
|
"
|
|
116
140
|
|
|
117
141
|
|
|
118
|
-
|
|
119
|
-
|
|
142
|
+
Scenario: independent-child-with-hook
|
|
143
|
+
Items: 3 | [a] add | [d] delete | [r] reset counts
|
|
120
144
|
|
|
121
145
|
Parent without hook - renders: 2
|
|
122
146
|
Independent child with hook - renders: 3, items: 3
|
|
123
|
-
|
|
147
|
+
Independent child without hook - renders: 2
|
|
148
|
+
[0] Apple (without hook, renders: 7)
|
|
124
149
|
[1] Banana (without hook, renders: 8)
|
|
125
150
|
[2] Cherry (without hook, renders: 9)
|
|
126
151
|
|
|
152
|
+
┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|
|
153
|
+
│ │
|
|
154
|
+
│ Render Counts: │
|
|
155
|
+
│ parent: 1 │
|
|
156
|
+
│ parentWithHook: 0 │
|
|
157
|
+
│ independentChild: 1 │
|
|
158
|
+
│ independentChildWithHook: 1 │
|
|
159
|
+
│ descendantItem: 3 │
|
|
160
|
+
│ descendantItemWithHook: 0 │
|
|
161
|
+
│ │
|
|
162
|
+
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
|
|
127
173
|
|
|
128
|
-
┌──────────────────────────────────────────────────────────────────────────┐
|
|
129
|
-
│ │
|
|
130
|
-
│ Reparent:u1ts: │
|
|
131
|
-
│ parentWithHook: 0 │
|
|
132
|
-
│ independentChild: 1 │
|
|
133
|
-
│ independentChildWithHook: 1 │
|
|
134
|
-
│ descendantItem: 3 │
|
|
135
|
-
│ descendantItemWithHook: 0 │
|
|
136
|
-
│ │
|
|
137
|
-
└──────────────────────────────────────────────────────────────────────────┘
|
|
138
174
|
|
|
139
175
|
"
|
|
140
176
|
`)
|
|
@@ -172,17 +208,29 @@ test(
|
|
|
172
208
|
[1] Banana (with hook, renders: 8, total: 3)
|
|
173
209
|
[2] Cherry (with hook, renders: 9, total: 3)
|
|
174
210
|
|
|
175
|
-
|
|
176
|
-
│
|
|
177
|
-
│ Render Counts:
|
|
178
|
-
│ parent: 1
|
|
179
|
-
│ parentWithHook: 0
|
|
180
|
-
│ independentChild: 0
|
|
181
|
-
│ independentChildWithHook: 0
|
|
182
|
-
│ descendantItem: 0
|
|
183
|
-
│ descendantItemWithHook: 3
|
|
184
|
-
│
|
|
185
|
-
|
|
211
|
+
┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|
|
212
|
+
│ │
|
|
213
|
+
│ Render Counts: │
|
|
214
|
+
│ parent: 1 │
|
|
215
|
+
│ parentWithHook: 0 │
|
|
216
|
+
│ independentChild: 0 │
|
|
217
|
+
│ independentChildWithHook: 0 │
|
|
218
|
+
│ descendantItem: 0 │
|
|
219
|
+
│ descendantItemWithHook: 3 │
|
|
220
|
+
│ │
|
|
221
|
+
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
|
|
186
234
|
|
|
187
235
|
|
|
188
236
|
"
|
|
@@ -23,20 +23,32 @@ test('simple scrollbox navigation and scrolling', async () => {
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
Simple ScrollBox Demo
|
|
26
|
-
|
|
27
|
-
Item 1 - This is content for item number 1. Lorem ipsum dolor sit amet,
|
|
28
|
-
consectetur adipiscing elit.
|
|
26
|
+
▀
|
|
27
|
+
Item 1 - This is content for item number 1. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
|
29
28
|
|
|
30
29
|
|
|
31
30
|
|
|
32
|
-
Item 2 - This is content for item number 2. Lorem ipsum dolor sit amet,
|
|
33
|
-
consectetur adipiscing elit.
|
|
31
|
+
Item 2 - This is content for item number 2. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
|
34
32
|
|
|
35
33
|
|
|
36
34
|
|
|
37
|
-
Item 3 - This is content for item number 3. Lorem ipsum dolor sit amet,
|
|
38
|
-
|
|
35
|
+
Item 3 - This is content for item number 3. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
Item 4 - This is content for item number 4. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
Item 5 - This is content for item number 5. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
Item 6 - This is content for item number 6. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
|
48
|
+
|
|
49
|
+
|
|
39
50
|
|
|
51
|
+
Item 7 - This is content for item number 7. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
|
40
52
|
|
|
41
53
|
|
|
42
54
|
|
|
@@ -59,22 +71,34 @@ test('simple scrollbox navigation and scrolling', async () => {
|
|
|
59
71
|
|
|
60
72
|
|
|
61
73
|
Simple ScrollBox Demo
|
|
62
|
-
Item 1 - This is content for item number 1. Lorem ipsum dolor sit amet,
|
|
63
|
-
consectetur adipiscing elit.
|
|
74
|
+
Item 1 - This is content for item number 1. Lorem ipsum dolor sit amet, consectetur adipiscing elit. ▄
|
|
64
75
|
|
|
65
76
|
|
|
66
77
|
|
|
67
|
-
Item 2 - This is content for item number 2. Lorem ipsum dolor sit amet,
|
|
68
|
-
consectetur adipiscing elit.
|
|
78
|
+
Item 2 - This is content for item number 2. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
|
69
79
|
|
|
70
80
|
|
|
71
81
|
|
|
72
|
-
Item 3 - This is content for item number 3. Lorem ipsum dolor sit amet,
|
|
73
|
-
|
|
82
|
+
Item 3 - This is content for item number 3. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
Item 4 - This is content for item number 4. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
Item 5 - This is content for item number 5. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
Item 6 - This is content for item number 6. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
Item 7 - This is content for item number 7. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
|
74
99
|
|
|
75
100
|
|
|
76
101
|
|
|
77
|
-
Item 4 - This is content for item number 4. Lorem ipsum dolor sit amet,
|
|
78
102
|
|
|
79
103
|
Use mouse scroll or arrow keys | Press [q] to quit
|
|
80
104
|
|