linecraft 0.2.3 → 0.2.5

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 (77) hide show
  1. package/README.md +84 -7
  2. package/lib/components/code-debug.d.ts +7 -1
  3. package/lib/components/code-debug.d.ts.map +1 -1
  4. package/lib/components/code-debug.js +261 -232
  5. package/lib/components/code-debug.js.map +1 -1
  6. package/lib/components/code-debug.test.d.ts +2 -0
  7. package/lib/components/code-debug.test.d.ts.map +1 -0
  8. package/lib/components/code-debug.test.js +253 -0
  9. package/lib/components/code-debug.test.js.map +1 -0
  10. package/lib/components/progress-bar-grid.d.ts.map +1 -1
  11. package/lib/components/progress-bar-grid.js +2 -1
  12. package/lib/components/progress-bar-grid.js.map +1 -1
  13. package/lib/components/progress-bar-grid.test.js +8 -7
  14. package/lib/components/progress-bar-grid.test.js.map +1 -1
  15. package/lib/components/prompt.d.ts.map +1 -1
  16. package/lib/components/prompt.js +2 -1
  17. package/lib/components/prompt.js.map +1 -1
  18. package/lib/components/segments.d.ts.map +1 -1
  19. package/lib/components/segments.js +0 -7
  20. package/lib/components/segments.js.map +1 -1
  21. package/lib/components/style.test.js +12 -11
  22. package/lib/components/style.test.js.map +1 -1
  23. package/lib/components/styled.d.ts +1 -0
  24. package/lib/components/styled.d.ts.map +1 -1
  25. package/lib/components/styled.js +38 -8
  26. package/lib/components/styled.js.map +1 -1
  27. package/lib/components/styled.test.js +12 -11
  28. package/lib/components/styled.test.js.map +1 -1
  29. package/lib/layout/grid.d.ts +3 -2
  30. package/lib/layout/grid.d.ts.map +1 -1
  31. package/lib/layout/grid.js +166 -81
  32. package/lib/layout/grid.js.map +1 -1
  33. package/lib/layout/grid.test.js +70 -3
  34. package/lib/layout/grid.test.js.map +1 -1
  35. package/lib/native/diff.d.ts.map +1 -1
  36. package/lib/native/diff.js +2 -1
  37. package/lib/native/diff.js.map +1 -1
  38. package/lib/native/diff.test.js.map +1 -1
  39. package/lib/native/region-old.js +4 -4
  40. package/lib/native/region-old.js.map +1 -1
  41. package/lib/native/region-renderer.d.ts +3 -2
  42. package/lib/native/region-renderer.d.ts.map +1 -1
  43. package/lib/native/region-renderer.js +39 -9
  44. package/lib/native/region-renderer.js.map +1 -1
  45. package/lib/native/region-simple.d.ts.map +1 -1
  46. package/lib/native/region-simple.js +1 -1
  47. package/lib/native/region-simple.js.map +1 -1
  48. package/lib/region.d.ts +3 -3
  49. package/lib/region.d.ts.map +1 -1
  50. package/lib/region.js +15 -66
  51. package/lib/region.js.map +1 -1
  52. package/lib/types.d.ts +1 -0
  53. package/lib/types.d.ts.map +1 -1
  54. package/lib/utils/colors.d.ts.map +1 -1
  55. package/lib/utils/colors.js +3 -0
  56. package/lib/utils/colors.js.map +1 -1
  57. package/lib/utils/cursor-position.d.ts.map +1 -1
  58. package/lib/utils/cursor-position.js +4 -15
  59. package/lib/utils/cursor-position.js.map +1 -1
  60. package/lib/utils/prompt.js +3 -3
  61. package/lib/utils/prompt.js.map +1 -1
  62. package/lib/utils/terminal-theme.d.ts +5 -4
  63. package/lib/utils/terminal-theme.d.ts.map +1 -1
  64. package/lib/utils/terminal-theme.js +7 -6
  65. package/lib/utils/terminal-theme.js.map +1 -1
  66. package/lib/utils/text.d.ts +91 -2
  67. package/lib/utils/text.d.ts.map +1 -1
  68. package/lib/utils/text.js +765 -72
  69. package/lib/utils/text.js.map +1 -1
  70. package/lib/utils/text.test.d.ts +2 -0
  71. package/lib/utils/text.test.d.ts.map +1 -0
  72. package/lib/utils/text.test.js +237 -0
  73. package/lib/utils/text.test.js.map +1 -0
  74. package/lib/utils/wait-for-spacebar.d.ts.map +1 -1
  75. package/lib/utils/wait-for-spacebar.js +2 -9
  76. package/lib/utils/wait-for-spacebar.js.map +1 -1
  77. package/package.json +7 -3
@@ -0,0 +1,253 @@
1
+ // Unit tests for code-debug component
2
+ import { describe, it, expect, beforeEach } from 'vitest';
3
+ import { CodeDebug } from './code-debug.js';
4
+ import { TerminalRegion } from '../region.js';
5
+ import { callComponent } from '../component.js';
6
+ import { stripAnsi } from '../utils/text.js';
7
+ describe('code-debug component', () => {
8
+ let region;
9
+ beforeEach(() => {
10
+ region = new TerminalRegion({ disableRendering: true, width: 100 });
11
+ });
12
+ function render(component, width = 100) {
13
+ const ctx = {
14
+ availableWidth: width,
15
+ region: region,
16
+ columnIndex: 0,
17
+ rowIndex: 0,
18
+ };
19
+ const result = callComponent(component, ctx);
20
+ if (Array.isArray(result)) {
21
+ return result;
22
+ }
23
+ else if (result) {
24
+ return [result];
25
+ }
26
+ return [];
27
+ }
28
+ describe('truncated code with ellipsis', () => {
29
+ it('should correctly point to .v at columns 77-78 when code is truncated with start ellipsis', () => {
30
+ // This is the extend-chaining example that's failing
31
+ const errorLine = ' .ma:extend(.a,.b,.c,.d,.e,.f,.g,.h,.i,.j,.k,.l,.m,.n,.o,.p,.q,.r,.s,.t,.u,.v) {};';
32
+ const startColumn = 77; // Should point to '.'
33
+ const endColumn = 78; // Should point to 'v'
34
+ // Verify original columns
35
+ expect(errorLine[startColumn - 1]).toBe('.');
36
+ expect(errorLine[endColumn - 1]).toBe('v');
37
+ // Test with width that causes truncation (80 chars should truncate this 83-char line)
38
+ const width = 80;
39
+ const component = CodeDebug({
40
+ startLine: 77,
41
+ startColumn,
42
+ endColumn,
43
+ errorLine,
44
+ message: 'Extend target ".v" not accessible',
45
+ shortMessage: 'extend target not accessible',
46
+ filePath: 'test.less',
47
+ fullPath: '/test/test.less',
48
+ baseDir: '/test',
49
+ type: 'warning',
50
+ });
51
+ const output = render(component, width);
52
+ const outputText = output.join('\n');
53
+ const outputTextPlain = stripAnsi(outputText);
54
+ // Find the error line (line with │ and the code) - format: "77 │ ..."
55
+ const errorLineRegex = /^\s*\d+\s*│\s*(.+)$/m;
56
+ const errorLineMatch = outputTextPlain.match(errorLineRegex);
57
+ expect(errorLineMatch, `Error line should be found in:\n${outputTextPlain}`).toBeTruthy();
58
+ const renderedErrorLinePlain = errorLineMatch[1];
59
+ // Find the indicator line (line with │ and the underline) - format: " │ ..."
60
+ // Look for lines with indicator characters (┖, ┬, ┚, ╿)
61
+ const lines = outputTextPlain.split('\n');
62
+ let indicatorLinePlain = null;
63
+ let fullIndicatorLine = null;
64
+ for (const line of lines) {
65
+ if (line.includes('│') && (line.includes('┖') || line.includes('┬') || line.includes('┚') || line.includes('╿'))) {
66
+ fullIndicatorLine = line;
67
+ const match = line.match(/│ (.*)$/);
68
+ if (match) {
69
+ indicatorLinePlain = match[1];
70
+ break;
71
+ }
72
+ }
73
+ }
74
+ expect(indicatorLinePlain, `Indicator line should be found in:\n${outputTextPlain}`).toBeTruthy();
75
+ // The indicator should point to .v in the rendered error line
76
+ // Find where .v appears in the rendered error line
77
+ const dotVIndex = renderedErrorLinePlain.indexOf('.v');
78
+ expect(dotVIndex, `.v should be visible in rendered line: "${renderedErrorLinePlain}"`).toBeGreaterThanOrEqual(0);
79
+ // The indicator (┖, ┬, ┚, or ╿) should be positioned at or near .v
80
+ // Find the position of the T-bar (┬) or bracket (┖/┚) in the indicator line
81
+ const tBarIndex = indicatorLinePlain.indexOf('┬');
82
+ const bracketStart = indicatorLinePlain.indexOf('┖');
83
+ const bracketEnd = indicatorLinePlain.indexOf('┚');
84
+ const indicatorPos = tBarIndex >= 0 ? tBarIndex : (bracketStart >= 0 ? bracketStart : bracketEnd);
85
+ expect(indicatorPos, `Indicator should be found in: "${indicatorLinePlain}"`).toBeGreaterThanOrEqual(0);
86
+ // Account for ellipsis at start if present
87
+ // renderedErrorLinePlain includes ellipsis if present
88
+ const expectedIndicatorPos = dotVIndex;
89
+ // The indicator should be at or near where .v is (within 2 characters)
90
+ expect(Math.abs(indicatorPos - expectedIndicatorPos), `Indicator at ${indicatorPos} should be near .v at ${expectedIndicatorPos} in error line "${renderedErrorLinePlain}" and indicator "${indicatorLinePlain}"`).toBeLessThanOrEqual(2);
91
+ });
92
+ });
93
+ describe('short message alignment', () => {
94
+ it('should correctly align left-placed short message (message on right side)', () => {
95
+ // Left placement means message appears to the right of the code
96
+ const component = CodeDebug({
97
+ startLine: 50,
98
+ startColumn: 16,
99
+ endColumn: 35,
100
+ errorLine: 'const result = veryLongFunctionName(withManyParameters, andMoreParameters)',
101
+ message: 'Line too long',
102
+ shortMessage: 'line too long',
103
+ shortMessagePlacement: 'left',
104
+ filePath: 'test.ts',
105
+ fullPath: '/test/test.ts',
106
+ baseDir: '/test',
107
+ type: 'error',
108
+ });
109
+ const output = render(component, 100);
110
+ // Find the short message line (should have connector ──╯ pointing left)
111
+ const shortMessageLineRegex = /^\s*│\s*(.+)$/m;
112
+ const lines = output.join('\n').split('\n');
113
+ let shortMessageLine = null;
114
+ for (const line of lines) {
115
+ if (line.includes('──╯') || line.includes('line too long')) {
116
+ shortMessageLine = line;
117
+ break;
118
+ }
119
+ }
120
+ expect(shortMessageLine).toBeTruthy();
121
+ const shortMessageLinePlain = stripAnsi(shortMessageLine);
122
+ // Find the indicator line to get the T-bar position
123
+ const indicatorLineRegex = /^\s*│\s*(.+)$/m;
124
+ let indicatorLine = null;
125
+ for (const line of lines) {
126
+ if (line.includes('┬') || line.includes('┖')) {
127
+ indicatorLine = line;
128
+ break;
129
+ }
130
+ }
131
+ expect(indicatorLine).toBeTruthy();
132
+ const indicatorLinePlain = stripAnsi(indicatorLine);
133
+ // Find T-bar position in indicator line
134
+ const tBarPos = indicatorLinePlain.indexOf('┬');
135
+ expect(tBarPos).toBeGreaterThanOrEqual(0);
136
+ // Find connector end (╯) position in short message line
137
+ const connectorEndPos = shortMessageLinePlain.indexOf('╯');
138
+ expect(connectorEndPos).toBeGreaterThanOrEqual(0);
139
+ // The connector end (╯) should be at the T-bar position (exactly)
140
+ // Account for the │ prefix (lineNumWidth + 3)
141
+ const lineNumWidth = 2; // "50" is 2 chars
142
+ const prefixWidth = lineNumWidth + 3; // lineNumWidth + space + │ + space
143
+ const tBarPosInLine = tBarPos + prefixWidth;
144
+ const connectorEndPosInLine = connectorEndPos + prefixWidth;
145
+ // Should be exactly aligned (within 1 char tolerance)
146
+ expect(Math.abs(connectorEndPosInLine - tBarPosInLine), `Left-placed message: T-bar at ${tBarPosInLine}, connector end at ${connectorEndPosInLine}, difference: ${Math.abs(connectorEndPosInLine - tBarPosInLine)}`).toBeLessThanOrEqual(1);
147
+ });
148
+ it('should correctly align right-placed short message (message on left side)', () => {
149
+ // Right placement means message appears to the left of the code
150
+ const component = CodeDebug({
151
+ startLine: 12,
152
+ startColumn: 12,
153
+ endColumn: 16,
154
+ errorLine: ' return x + y + z;',
155
+ message: 'Type error: cannot add string and number',
156
+ shortMessage: 'string + number',
157
+ shortMessagePlacement: 'right',
158
+ filePath: 'test.ts',
159
+ fullPath: '/test/test.ts',
160
+ baseDir: '/test',
161
+ type: 'error',
162
+ });
163
+ const output = render(component, 100);
164
+ // Find the short message line (should have connector ╰── pointing right)
165
+ const lines = output.join('\n').split('\n');
166
+ let shortMessageLine = null;
167
+ for (const line of lines) {
168
+ if (line.includes('╰──') || line.includes('string + number')) {
169
+ shortMessageLine = line;
170
+ break;
171
+ }
172
+ }
173
+ expect(shortMessageLine).toBeTruthy();
174
+ const shortMessageLinePlain = stripAnsi(shortMessageLine);
175
+ // Find the indicator line to get the T-bar position
176
+ let indicatorLine = null;
177
+ for (const line of lines) {
178
+ if (line.includes('┬') || line.includes('┖')) {
179
+ indicatorLine = line;
180
+ break;
181
+ }
182
+ }
183
+ expect(indicatorLine).toBeTruthy();
184
+ const indicatorLinePlain = stripAnsi(indicatorLine);
185
+ // Find T-bar position in indicator line
186
+ const tBarPos = indicatorLinePlain.indexOf('┬');
187
+ expect(tBarPos).toBeGreaterThanOrEqual(0);
188
+ // Find connector start (╰) position in short message line
189
+ const connectorStartPos = shortMessageLinePlain.indexOf('╰');
190
+ expect(connectorStartPos).toBeGreaterThanOrEqual(0);
191
+ // The connector "╰── " has the last dash at position 3 from start
192
+ // So connectorStartPos + 3 should be at T-bar position
193
+ const lineNumWidth = 2; // "12" is 2 chars
194
+ const prefixWidth = lineNumWidth + 3; // lineNumWidth + space + │ + space
195
+ const tBarPosInLine = tBarPos + prefixWidth;
196
+ const connectorLastDashPosInLine = connectorStartPos + prefixWidth + 3;
197
+ // Should be exactly aligned (within 1 char tolerance)
198
+ expect(Math.abs(connectorLastDashPosInLine - tBarPosInLine), `Right-placed message: T-bar at ${tBarPosInLine}, connector last dash at ${connectorLastDashPosInLine}, difference: ${Math.abs(connectorLastDashPosInLine - tBarPosInLine)}`).toBeLessThanOrEqual(1);
199
+ });
200
+ });
201
+ describe('hyperlink preservation', () => {
202
+ it('should preserve OSC 8 hyperlink on truncated file path', () => {
203
+ // When a file path with a hyperlink is truncated, the entire visible portion should remain clickable
204
+ const component = CodeDebug({
205
+ startLine: 77,
206
+ startColumn: 77,
207
+ endColumn: 78,
208
+ errorLine: ' .ma:extend(.a,.b,.c,.d,.e,.f,.g,.h,.i,.j,.k,.l,.m,.n,.o,.p,.q,.r,.s,.t,.u,.v) {};',
209
+ message: 'Extend target ".v" not accessible',
210
+ shortMessage: 'extend target not accessible',
211
+ filePath: '../less.js/packages/test-data/tests-unit/extend-chaining/extend-chaining.less',
212
+ fullPath: '/project/../less.js/packages/test-data/tests-unit/extend-chaining/extend-chaining.less',
213
+ baseDir: '/project',
214
+ type: 'warning',
215
+ });
216
+ const output = render(component, 80); // Narrow width to force truncation
217
+ const outputText = output.join('\n');
218
+ const outputTextPlain = stripAnsi(outputText);
219
+ // Find the location line (has the file path with hyperlink)
220
+ // Format: " ╭─[path:line:column]"
221
+ const locationLineMatch = outputTextPlain.match(/╭─\[(.+?)\]/);
222
+ expect(locationLineMatch, `Location line should be found in:\n${outputTextPlain.substring(0, 200)}`).toBeTruthy();
223
+ // Get the actual line with ANSI codes for hyperlink checking
224
+ const locationLineWithAnsi = output.join('\n').split('\n').find(line => stripAnsi(line).includes('╭─['));
225
+ expect(locationLineWithAnsi, 'Location line with ANSI should be found').toBeTruthy();
226
+ const locationLine = locationLineWithAnsi;
227
+ // Check that the entire visible path (not just ellipsis) has the OSC 8 hyperlink
228
+ // OSC 8 format: \x1b]8;;<url>\x1b\\<text>\x1b]8;;\x1b\\
229
+ // The hyperlink should wrap the entire visible text, not just the ellipsis
230
+ const hasOsc8Start = locationLine.includes('\x1b]8;;');
231
+ expect(hasOsc8Start, 'Location line should contain OSC 8 hyperlink start').toBe(true);
232
+ // Extract the visible path portion (after ellipsis if present)
233
+ const pathMatch = locationLine.match(/\[(.+?)\]/);
234
+ expect(pathMatch, 'Path should be found in location line').toBeTruthy();
235
+ const visiblePath = pathMatch[1];
236
+ const visiblePathPlain = stripAnsi(visiblePath);
237
+ // If truncated with ellipsis, check that text after ellipsis is still in the link
238
+ if (visiblePathPlain.startsWith('...')) {
239
+ // Find where the ellipsis ends and the actual path text begins
240
+ const pathAfterEllipsis = visiblePathPlain.substring(3);
241
+ // The path after ellipsis should still be part of the hyperlink
242
+ // We can't easily test this without parsing OSC 8, but we can check that
243
+ // the hyperlink sequence appears before the ellipsis and continues after
244
+ const ellipsisIndex = locationLine.indexOf('...');
245
+ const pathAfterEllipsisIndex = locationLine.indexOf(pathAfterEllipsis.substring(0, Math.min(10, pathAfterEllipsis.length)));
246
+ // There should be an OSC 8 start before the ellipsis
247
+ const osc8BeforeEllipsis = locationLine.substring(0, ellipsisIndex).includes('\x1b]8;;');
248
+ expect(osc8BeforeEllipsis || pathAfterEllipsisIndex > ellipsisIndex, 'Hyperlink should start before ellipsis and continue on the visible path text').toBe(true);
249
+ }
250
+ });
251
+ });
252
+ });
253
+ //# sourceMappingURL=code-debug.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-debug.test.js","sourceRoot":"","sources":["../../src/components/code-debug.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"progress-bar-grid.d.ts","sourceRoot":"","sources":["../../src/components/progress-bar-grid.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAKzC,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,CA0ClE"}
1
+ {"version":3,"file":"progress-bar-grid.d.ts","sourceRoot":"","sources":["../../src/components/progress-bar-grid.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAEhE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAKzC,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,CA0ClE"}
@@ -1,4 +1,5 @@
1
1
  // Progress bar component using grid system
2
+ import { callComponent } from '../component.js';
2
3
  import { Styled } from './styled.js';
3
4
  import { grid as Grid } from '../layout/grid.js';
4
5
  import { applyStyle } from '../utils/colors.js';
@@ -38,7 +39,7 @@ export function progressBar(options) {
38
39
  ];
39
40
  // Use grid to layout: [1] [flex] [1] [7]
40
41
  const gridComp = Grid({ template: [1, '1*', 1, 7], columnGap: 0 }, ...children);
41
- return gridComp(ctx);
42
+ return callComponent(gridComp, ctx);
42
43
  };
43
44
  }
44
45
  //# sourceMappingURL=progress-bar-grid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress-bar-grid.js","sourceRoot":"","sources":["../../src/components/progress-bar-grid.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAI3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAehD;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAA2B;IACrD,OAAO,CAAC,GAAkB,EAAE,EAAE;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAEpF,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,GAAG,CAAC;QACjD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,GAAG,CAAC;QACrD,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,IAAI;QAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,IAAI;QAE5D,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,aAAa,CAAC;QAE3D,mFAAmF;QACnF,mFAAmF;QACnF,MAAM,YAAY,GAAG,CAAC,MAAqB,EAAU,EAAE;YACrD,gEAAgE;YAChE,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB;YACzF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAG,iBAAiB,GAAG,MAAM,CAAC;YAEzC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE9C,MAAM,OAAO,GAAG,GAAG;gBACjB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACnF,UAAU,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;gBAC9C,GAAG,CAAC;YAEN,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,sBAAsB;QACtB,MAAM,QAAQ,GAAG;YACf,MAAM,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,WAAW,CAAC;YAC5C,YAAY;YACZ,MAAM,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,YAAY,CAAC;YAC7C,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,IAAI,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;SACnG,CAAC;QAEF,yCAAyC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC;QAChF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"progress-bar-grid.js","sourceRoot":"","sources":["../../src/components/progress-bar-grid.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAehD;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAA2B;IACrD,OAAO,CAAC,GAAkB,EAAE,EAAE;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAEpF,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,GAAG,CAAC;QACjD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,GAAG,CAAC;QACrD,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,IAAI;QAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,IAAI;QAE5D,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,aAAa,CAAC;QAE3D,mFAAmF;QACnF,mFAAmF;QACnF,MAAM,YAAY,GAAG,CAAC,MAAqB,EAAU,EAAE;YACrD,gEAAgE;YAChE,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB;YACzF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAG,iBAAiB,GAAG,MAAM,CAAC;YAEzC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE9C,MAAM,OAAO,GAAG,GAAG;gBACjB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACnF,UAAU,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;gBAC9C,GAAG,CAAC;YAEN,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,sBAAsB;QACtB,MAAM,QAAQ,GAAG;YACf,MAAM,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,WAAW,CAAC;YAC5C,YAAY;YACZ,MAAM,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,YAAY,CAAC;YAC7C,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,IAAI,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;SACnG,CAAC;QAEF,yCAAyC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC;QAChF,OAAO,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC;AACJ,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { describe, it, expect, beforeEach } from 'vitest';
2
2
  import { progressBar } from './progress-bar-grid.js';
3
3
  import { TerminalRegion } from '../region.js';
4
+ import { callComponent } from '../component.js';
4
5
  describe('ProgressBar (Grid)', () => {
5
6
  let region;
6
7
  beforeEach(() => {
@@ -11,8 +12,8 @@ describe('ProgressBar (Grid)', () => {
11
12
  current: 50,
12
13
  total: 100,
13
14
  });
14
- expect(typeof component).toBe('function');
15
- const result = component({
15
+ expect(typeof component === 'function' || (typeof component === 'object' && component !== null && 'render' in component)).toBe(true);
16
+ const result = callComponent(component, {
16
17
  availableWidth: 80,
17
18
  region: region,
18
19
  columnIndex: 0,
@@ -26,7 +27,7 @@ describe('ProgressBar (Grid)', () => {
26
27
  current: 50,
27
28
  total: 100,
28
29
  });
29
- const result = component({
30
+ const result = callComponent(component, {
30
31
  availableWidth: 80,
31
32
  region: region,
32
33
  columnIndex: 0,
@@ -42,7 +43,7 @@ describe('ProgressBar (Grid)', () => {
42
43
  current: 25,
43
44
  total: 100,
44
45
  });
45
- const result = component({
46
+ const result = callComponent(component, {
46
47
  availableWidth: 80,
47
48
  region: region,
48
49
  columnIndex: 0,
@@ -59,7 +60,7 @@ describe('ProgressBar (Grid)', () => {
59
60
  bracketColor: 'brightBlack',
60
61
  percentColor: 'yellow',
61
62
  });
62
- const result = component({
63
+ const result = callComponent(component, {
63
64
  availableWidth: 80,
64
65
  region: region,
65
66
  columnIndex: 0,
@@ -73,7 +74,7 @@ describe('ProgressBar (Grid)', () => {
73
74
  current: 0,
74
75
  total: 100,
75
76
  });
76
- const result = component({
77
+ const result = callComponent(component, {
77
78
  availableWidth: 80,
78
79
  region: region,
79
80
  columnIndex: 0,
@@ -87,7 +88,7 @@ describe('ProgressBar (Grid)', () => {
87
88
  current: 100,
88
89
  total: 100,
89
90
  });
90
- const result = component({
91
+ const result = callComponent(component, {
91
92
  availableWidth: 80,
92
93
  region: region,
93
94
  columnIndex: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"progress-bar-grid.test.js","sourceRoot":"","sources":["../../src/components/progress-bar-grid.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"progress-bar-grid.test.js","sourceRoot":"","sources":["../../src/components/progress-bar-grid.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/components/prompt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,CAqBxD"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/components/prompt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAIjD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,CAqBxD"}
@@ -1,4 +1,5 @@
1
1
  // Prompt component - improved API for prompts like "Press SPACEBAR"
2
+ import { callComponent } from '../component.js';
2
3
  import { Styled } from './styled.js';
3
4
  /**
4
5
  * Create a Prompt component that can be added to a region
@@ -9,7 +10,7 @@ export function Prompt(options) {
9
10
  return (ctx) => {
10
11
  const promptText = `Press ${key} to ${message}...`;
11
12
  const styledComponent = Styled({ color: promptColor }, promptText);
12
- const styledResult = styledComponent(ctx);
13
+ const styledResult = callComponent(styledComponent, ctx);
13
14
  // Return blank line + prompt
14
15
  if (typeof styledResult === 'string') {
15
16
  return ['', styledResult];
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/components/prompt.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAKpE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAQrC;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,OAAsB;IAC3C,MAAM,EACJ,OAAO,EACP,GAAG,GAAG,UAAU,EAChB,KAAK,EAAE,WAAW,GAAG,aAAa,GACnC,GAAG,OAAO,CAAC;IAEZ,OAAO,CAAC,GAAG,EAAE,EAAE;QACb,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,OAAO,KAAK,CAAC;QACnD,MAAM,eAAe,GAAG,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,UAAU,CAAC,CAAC;QACnE,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QAE1C,6BAA6B;QAC7B,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,EAAE,EAAE,GAAG,YAAY,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAC5B,CAAC;IACD,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/components/prompt.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAIpE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAQrC;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,OAAsB;IAC3C,MAAM,EACJ,OAAO,EACP,GAAG,GAAG,UAAU,EAChB,KAAK,EAAE,WAAW,GAAG,aAAa,GACnC,GAAG,OAAO,CAAC;IAEZ,OAAO,CAAC,GAAG,EAAE,EAAE;QACb,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,OAAO,KAAK,CAAC;QACnD,MAAM,eAAe,GAAG,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,UAAU,CAAC,CAAC;QACnE,MAAM,YAAY,GAAG,aAAa,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAEzD,6BAA6B;QAC7B,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,EAAE,EAAE,GAAG,YAAY,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAC5B,CAAC;IACD,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"segments.d.ts","sourceRoot":"","sources":["../../src/components/segments.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAKzC,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,UAAU,CAAC;AAE3E,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAiCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS,CAkE5D"}
1
+ {"version":3,"file":"segments.d.ts","sourceRoot":"","sources":["../../src/components/segments.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAKzC,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,UAAU,CAAC;AAE3E,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAiCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS,CA2D5D"}
@@ -51,17 +51,14 @@ export function Segments(options) {
51
51
  }
52
52
  const availableWidth = ctx.availableWidth;
53
53
  let result = '';
54
- let usedWidth = 0;
55
54
  for (let i = 0; i < segments.length; i++) {
56
55
  const segment = segments[i];
57
- const nextSegment = i < segments.length - 1 ? segments[i + 1] : null;
58
56
  // Left divider (automatic - dash for middle segments)
59
57
  if (i > 0) {
60
58
  // Always use dash (─) for dividers - it works well with all border styles
61
59
  const dividerColor = 'brightBlack';
62
60
  const styledDivider = applyStyle('─', { color: dividerColor });
63
61
  result += styledDivider;
64
- usedWidth += 1;
65
62
  }
66
63
  // Left border decoration
67
64
  const borderStyle = segment.borderStyle ?? 'cap';
@@ -70,7 +67,6 @@ export function Segments(options) {
70
67
  // Auto-theme: borders use text color
71
68
  const borderColor = segment.color ?? 'brightCyan';
72
69
  result += applyStyle(borderChars.left, { color: borderColor });
73
- usedWidth += 1;
74
70
  }
75
71
  // Segment content with automatic padding (no background, just text color)
76
72
  // Trim content and add padding automatically
@@ -81,13 +77,11 @@ export function Segments(options) {
81
77
  // No backgroundColor - uses default terminal background
82
78
  });
83
79
  result += styledContent;
84
- usedWidth += paddedContent.length;
85
80
  // Right border decoration
86
81
  if (borderChars.right) {
87
82
  // Auto-theme: borders use text color
88
83
  const borderColor = segment.color ?? 'brightCyan';
89
84
  result += applyStyle(borderChars.right, { color: borderColor });
90
- usedWidth += 1;
91
85
  }
92
86
  // Right divider (automatic - dash for middle segments)
93
87
  if (i < segments.length - 1) {
@@ -95,7 +89,6 @@ export function Segments(options) {
95
89
  const dividerColor = 'brightBlack';
96
90
  const styledDivider = applyStyle('─', { color: dividerColor });
97
91
  result += styledDivider;
98
- usedWidth += 1;
99
92
  }
100
93
  }
101
94
  // Truncate if needed (preserving ANSI codes)
@@ -1 +1 @@
1
- {"version":3,"file":"segments.js","sourceRoot":"","sources":["../../src/components/segments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"segments.js","sourceRoot":"","sources":["../../src/components/segments.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { describe, it, expect, beforeEach } from 'vitest';
2
2
  import { Styled } from './styled.js';
3
3
  import { TerminalRegion } from '../region.js';
4
+ import { callComponent } from '../component.js';
4
5
  describe('Style Component', () => {
5
6
  let region;
6
7
  beforeEach(() => {
@@ -9,7 +10,7 @@ describe('Style Component', () => {
9
10
  describe('basic styling', () => {
10
11
  it('should apply color', () => {
11
12
  const component = Styled({ color: 'red' }, 'Hello');
12
- const result = component({
13
+ const result = callComponent(component, {
13
14
  availableWidth: 80,
14
15
  region: region,
15
16
  columnIndex: 0,
@@ -20,7 +21,7 @@ describe('Style Component', () => {
20
21
  });
21
22
  it('should apply backgroundColor', () => {
22
23
  const component = Styled({ backgroundColor: 'blue' }, 'Hello');
23
- const result = component({
24
+ const result = callComponent(component, {
24
25
  availableWidth: 80,
25
26
  region: region,
26
27
  columnIndex: 0,
@@ -31,7 +32,7 @@ describe('Style Component', () => {
31
32
  });
32
33
  it('should apply bold', () => {
33
34
  const component = Styled({ bold: true }, 'Hello');
34
- const result = component({
35
+ const result = callComponent(component, {
35
36
  availableWidth: 80,
36
37
  region: region,
37
38
  columnIndex: 0,
@@ -43,7 +44,7 @@ describe('Style Component', () => {
43
44
  describe('overflow handling', () => {
44
45
  it('should truncate with ellipsis-end', () => {
45
46
  const component = Styled({ overflow: 'ellipsis-end' }, 'This is a very long text');
46
- const result = component({
47
+ const result = callComponent(component, {
47
48
  availableWidth: 10,
48
49
  region: region,
49
50
  columnIndex: 0,
@@ -55,7 +56,7 @@ describe('Style Component', () => {
55
56
  });
56
57
  it('should truncate with ellipsis-start', () => {
57
58
  const component = Styled({ overflow: 'ellipsis-start' }, 'This is a very long text');
58
- const result = component({
59
+ const result = callComponent(component, {
59
60
  availableWidth: 10,
60
61
  region: region,
61
62
  columnIndex: 0,
@@ -67,7 +68,7 @@ describe('Style Component', () => {
67
68
  });
68
69
  it('should wrap text', () => {
69
70
  const component = Styled({ overflow: 'wrap' }, 'This is a very long text that should wrap');
70
- const result = component({
71
+ const result = callComponent(component, {
71
72
  availableWidth: 10,
72
73
  region: region,
73
74
  columnIndex: 0,
@@ -80,7 +81,7 @@ describe('Style Component', () => {
80
81
  describe('when condition', () => {
81
82
  it('should return null when condition is false', () => {
82
83
  const component = Styled({ when: () => false }, 'Hello');
83
- const result = component({
84
+ const result = callComponent(component, {
84
85
  availableWidth: 80,
85
86
  region: region,
86
87
  columnIndex: 0,
@@ -90,7 +91,7 @@ describe('Style Component', () => {
90
91
  });
91
92
  it('should return content when condition is true', () => {
92
93
  const component = Styled({ when: (ctx) => ctx.availableWidth > 50 }, 'Hello');
93
- const result = component({
94
+ const result = callComponent(component, {
94
95
  availableWidth: 80,
95
96
  region: region,
96
97
  columnIndex: 0,
@@ -100,14 +101,14 @@ describe('Style Component', () => {
100
101
  });
101
102
  it('should check availableWidth in condition', () => {
102
103
  const component = Styled({ when: (ctx) => ctx.availableWidth > 50 }, 'Hello');
103
- const result1 = component({
104
+ const result1 = callComponent(component, {
104
105
  availableWidth: 40,
105
106
  region: region,
106
107
  columnIndex: 0,
107
108
  rowIndex: 0,
108
109
  });
109
110
  expect(result1).toBeNull();
110
- const result2 = component({
111
+ const result2 = callComponent(component, {
111
112
  availableWidth: 60,
112
113
  region: region,
113
114
  columnIndex: 0,
@@ -119,7 +120,7 @@ describe('Style Component', () => {
119
120
  describe('multi-line content', () => {
120
121
  it('should apply styling to each line', () => {
121
122
  const component = Styled({ color: 'red' }, ['Line 1', 'Line 2']);
122
- const result = component({
123
+ const result = callComponent(component, {
123
124
  availableWidth: 80,
124
125
  region: region,
125
126
  columnIndex: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"style.test.js","sourceRoot":"","sources":["../../src/components/style.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"style.test.js","sourceRoot":"","sources":["../../src/components/style.test.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export interface StyleOptions {
8
8
  underline?: boolean;
9
9
  overflow?: 'none' | 'ellipsis-end' | 'ellipsis-start' | 'ellipsis-middle' | 'wrap';
10
10
  align?: 'left' | 'right' | 'center';
11
+ max?: number;
11
12
  when?: (ctx: RenderContext) => boolean;
12
13
  }
13
14
  /**