termcast 1.3.53 → 1.3.54

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 (34) hide show
  1. package/dist/app.d.ts.map +1 -1
  2. package/dist/app.js +30 -5
  3. package/dist/app.js.map +1 -1
  4. package/dist/components/candle-chart.d.ts +110 -0
  5. package/dist/components/candle-chart.d.ts.map +1 -0
  6. package/dist/components/candle-chart.js +295 -0
  7. package/dist/components/candle-chart.js.map +1 -0
  8. package/dist/components/table.d.ts +2 -0
  9. package/dist/components/table.d.ts.map +1 -1
  10. package/dist/components/table.js +41 -4
  11. package/dist/components/table.js.map +1 -1
  12. package/dist/examples/simple-candle-chart-data.d.ts +9064 -0
  13. package/dist/examples/simple-candle-chart-data.d.ts.map +1 -0
  14. package/dist/examples/simple-candle-chart-data.js +12683 -0
  15. package/dist/examples/simple-candle-chart-data.js.map +1 -0
  16. package/dist/examples/simple-candle-chart.d.ts +2 -0
  17. package/dist/examples/simple-candle-chart.d.ts.map +1 -0
  18. package/dist/examples/simple-candle-chart.js +125 -0
  19. package/dist/examples/simple-candle-chart.js.map +1 -0
  20. package/dist/index.d.ts +2 -0
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +2 -0
  23. package/dist/index.js.map +1 -1
  24. package/package.json +1 -1
  25. package/src/app.tsx +35 -5
  26. package/src/components/candle-chart.tsx +410 -0
  27. package/src/components/table.tsx +46 -4
  28. package/src/examples/simple-candle-chart-data.ts +12683 -0
  29. package/src/examples/simple-candle-chart.tsx +363 -0
  30. package/src/examples/simple-candle-chart.vitest.tsx +269 -0
  31. package/src/examples/simple-detail-table.vitest.tsx +2 -2
  32. package/src/examples/simple-table-wrap.vitest.tsx +19 -19
  33. package/src/examples/table-flex-grow.vitest.tsx +8 -8
  34. package/src/index.tsx +7 -0
@@ -0,0 +1,295 @@
1
+ import { jsx as _jsx } from "@opentui/react/jsx-runtime";
2
+ /**
3
+ * CandleChart component for rendering trading-style OHLC candlestick charts.
4
+ *
5
+ * Uses a custom opentui Renderable (CandleChartRenderable) for direct drawing
6
+ * to OptimizedBuffer via setCell(). Each data point occupies exactly one
7
+ * terminal column, rendering:
8
+ * - Body (open-to-close): left-half block characters (▌/▘/▖) with 2x
9
+ * vertical sub-row resolution
10
+ * - Wick (high-to-low): thin vertical line (│) extending above/below body
11
+ *
12
+ * Color encodes direction:
13
+ * - Green (default): close >= open (bullish)
14
+ * - Red (default): close < open (bearish)
15
+ *
16
+ * Layout reuses the same Y-axis + X-axis label pattern as Graph component.
17
+ */
18
+ import { useMemo } from 'react';
19
+ import { Renderable, RGBA } from '@opentui/core';
20
+ import { extend } from '@opentui/react';
21
+ import { useTheme } from 'termcast/src/theme';
22
+ import { Color, resolveColor } from 'termcast/src/colors';
23
+ // ── Block characters (same as Graph filled variant) ──────────────────
24
+ // Left-half and quadrant characters give 2x vertical sub-row resolution
25
+ // while keeping each bar 50% cell width for visible gaps between columns.
26
+ const LEFT_HALF = '▌'; // U+258C — full height, left 50%
27
+ const QUAD_UL = '▘'; // U+2598 — top half, left 50%
28
+ const QUAD_LL = '▖'; // U+2596 — bottom half, left 50%
29
+ export class CandleChartRenderable extends Renderable {
30
+ _candles = [];
31
+ _xLabels = [];
32
+ _yMin = 0;
33
+ _yMax = 100;
34
+ _yTicks = 5;
35
+ _yFormat = (v) => {
36
+ return v >= 1000 ? v.toFixed(0) : v.toFixed(1);
37
+ };
38
+ _axisColor = '#666666';
39
+ _upColor = '#34EE7F'; // Color.Green
40
+ _downColor = '#FF7B7B'; // Color.Red
41
+ _wickColor = '#666666';
42
+ constructor(ctx, options) {
43
+ super(ctx, options);
44
+ if (options.candles)
45
+ this._candles = options.candles;
46
+ if (options.xLabels)
47
+ this._xLabels = options.xLabels;
48
+ if (options.yMin !== undefined)
49
+ this._yMin = options.yMin;
50
+ if (options.yMax !== undefined)
51
+ this._yMax = options.yMax;
52
+ if (options.yTicks !== undefined)
53
+ this._yTicks = options.yTicks;
54
+ if (options.yFormat)
55
+ this._yFormat = options.yFormat;
56
+ if (options.axisColor)
57
+ this._axisColor = options.axisColor;
58
+ if (options.upColor)
59
+ this._upColor = options.upColor;
60
+ if (options.downColor)
61
+ this._downColor = options.downColor;
62
+ if (options.wickColor)
63
+ this._wickColor = options.wickColor;
64
+ }
65
+ set candles(value) { this._candles = value; this.requestRender(); }
66
+ set xLabels(value) { this._xLabels = value; this.requestRender(); }
67
+ set yMin(value) { this._yMin = value; this.requestRender(); }
68
+ set yMax(value) { this._yMax = value; this.requestRender(); }
69
+ set yTicks(value) { this._yTicks = value; this.requestRender(); }
70
+ set yFormat(value) { this._yFormat = value; this.requestRender(); }
71
+ set axisColor(value) { this._axisColor = value; this.requestRender(); }
72
+ set upColor(value) { this._upColor = value; this.requestRender(); }
73
+ set downColor(value) { this._downColor = value; this.requestRender(); }
74
+ set wickColor(value) { this._wickColor = value; this.requestRender(); }
75
+ // ── Layout: compute plot area and Y labels ─────────────────────
76
+ computeLayout() {
77
+ const totalW = this.width;
78
+ const totalH = this.height;
79
+ if (totalW <= 0 || totalH <= 0)
80
+ return null;
81
+ const safeTicks = Math.max(2, this._yTicks);
82
+ const yLabels = [];
83
+ for (let i = 0; i < safeTicks; i++) {
84
+ const value = this._yMin + (this._yMax - this._yMin) * (1 - i / (safeTicks - 1));
85
+ yLabels.push(this._yFormat(value));
86
+ }
87
+ const yAxisWidth = Math.max(...yLabels.map((l) => l.length));
88
+ const plotX = this.x + yAxisWidth + 1;
89
+ const plotY = this.y;
90
+ const plotH = totalH - 1;
91
+ const plotW = totalW - yAxisWidth - 1;
92
+ if (plotW <= 0 || plotH <= 0)
93
+ return null;
94
+ return { plotX, plotY, plotW, plotH, yAxisWidth, yLabels };
95
+ }
96
+ // ── Axes: Y labels + separator, X labels ──────────────────────
97
+ drawAxes(buffer, layout) {
98
+ const { plotX, plotY, plotW, plotH, yAxisWidth, yLabels } = layout;
99
+ const axisRgba = RGBA.fromHex(this._axisColor);
100
+ // Y-axis labels + separator
101
+ const safeTicks = Math.max(2, this._yTicks);
102
+ const labelRows = new Set();
103
+ for (let i = 0; i < safeTicks; i++) {
104
+ const row = Math.round(plotY + (i / (safeTicks - 1)) * (plotH - 1));
105
+ labelRows.add(row);
106
+ const label = yLabels[i];
107
+ buffer.drawText(label, this.x + yAxisWidth - label.length, row, axisRgba);
108
+ buffer.drawText('│', this.x + yAxisWidth, row, axisRgba);
109
+ }
110
+ for (let row = plotY; row < plotY + plotH; row++) {
111
+ if (!labelRows.has(row)) {
112
+ buffer.drawText('│', this.x + yAxisWidth, row, axisRgba);
113
+ }
114
+ }
115
+ // X-axis labels
116
+ if (this._xLabels.length > 0) {
117
+ const xAxisRow = plotY + plotH;
118
+ const labelCount = this._xLabels.length;
119
+ for (let i = 0; i < labelCount; i++) {
120
+ const label = this._xLabels[i];
121
+ const labelX = plotX + Math.round((i / Math.max(1, labelCount - 1)) * (plotW - 1));
122
+ const centeredX = Math.max(plotX, Math.min(labelX - Math.floor(label.length / 2), plotX + plotW - label.length));
123
+ buffer.drawText(label, centeredX, xAxisRow, axisRgba);
124
+ }
125
+ }
126
+ }
127
+ // ── Convert a price value to a virtual sub-row position ────────
128
+ // Returns a float in [0, virtualH-1] where 0 = top (yMax), virtualH-1 = bottom (yMin)
129
+ priceToVRow({ price, virtualH }) {
130
+ const yRange = this._yMax - this._yMin;
131
+ if (yRange === 0)
132
+ return 0;
133
+ const normalized = (price - this._yMin) / yRange;
134
+ return (1 - normalized) * (virtualH - 1);
135
+ }
136
+ // ── Aggregate candles into column buckets ───────────────────────
137
+ // When data.length > plotW, multiple candles share a column. We bucket
138
+ // them with standard OHLC aggregation: open=first.open, close=last.close,
139
+ // high=max(highs), low=min(lows). When data.length <= plotW, candles map
140
+ // 1:1 to contiguous columns (right-aligned so latest data is at the right edge).
141
+ aggregateToColumns({ plotW }) {
142
+ const candles = this._candles;
143
+ if (candles.length === 0)
144
+ return [];
145
+ if (candles.length <= plotW) {
146
+ // 1:1 mapping — return as-is, caller will right-align
147
+ return candles;
148
+ }
149
+ // Bucket candles into plotW columns
150
+ const result = [];
151
+ for (let col = 0; col < plotW; col++) {
152
+ const start = Math.floor((col * candles.length) / plotW);
153
+ const end = Math.floor(((col + 1) * candles.length) / plotW);
154
+ const slice = candles.slice(start, Math.max(start + 1, end));
155
+ const first = slice[0];
156
+ const last = slice[slice.length - 1];
157
+ result.push({
158
+ open: first.open,
159
+ close: last.close,
160
+ high: Math.max(...slice.map((c) => c.high)),
161
+ low: Math.min(...slice.map((c) => c.low)),
162
+ });
163
+ }
164
+ return result;
165
+ }
166
+ // ── Render candles ─────────────────────────────────────────────
167
+ // Each candle occupies exactly one terminal column. Uses 2x vertical
168
+ // sub-row resolution (same as Graph filled variant).
169
+ //
170
+ // For each column:
171
+ // 1. Map OHLC to virtual Y positions
172
+ // 2. Draw wick (│) from high to low, excluding body range
173
+ // 3. Draw body (▌/▘/▖) from min(open,close) to max(open,close)
174
+ // 4. Color: green if close >= open, red otherwise
175
+ renderCandles(buffer, plotX, plotY, plotW, plotH) {
176
+ const transparent = RGBA.fromValues(0, 0, 0, 0);
177
+ const virtualH = plotH * 2; // 2 sub-rows per terminal row
178
+ const yRange = this._yMax - this._yMin;
179
+ if (yRange === 0)
180
+ return;
181
+ const upRgba = RGBA.fromHex(this._upColor);
182
+ const downRgba = RGBA.fromHex(this._downColor);
183
+ const wickRgba = RGBA.fromHex(this._wickColor);
184
+ const columns = this.aggregateToColumns({ plotW });
185
+ if (columns.length === 0)
186
+ return;
187
+ // Right-align: latest candles at the right edge of the plot.
188
+ // When fewer candles than columns, offset pushes them rightward.
189
+ const offset = plotW - columns.length;
190
+ for (let i = 0; i < columns.length; i++) {
191
+ const candle = columns[i];
192
+ const col = offset + i;
193
+ if (col < 0 || col >= plotW)
194
+ continue;
195
+ const isBullish = candle.close >= candle.open;
196
+ const bodyColor = isBullish ? upRgba : downRgba;
197
+ // Convert prices to virtual sub-row positions (0 = top, virtualH-1 = bottom)
198
+ const highVRow = Math.round(this.priceToVRow({ price: candle.high, virtualH }));
199
+ const lowVRow = Math.round(this.priceToVRow({ price: candle.low, virtualH }));
200
+ const openVRow = Math.round(this.priceToVRow({ price: candle.open, virtualH }));
201
+ const closeVRow = Math.round(this.priceToVRow({ price: candle.close, virtualH }));
202
+ const bodyTopVRow = Math.min(openVRow, closeVRow);
203
+ const bodyBotVRow = Math.max(openVRow, closeVRow);
204
+ // Clamp all values to valid range
205
+ const wickTop = Math.max(0, Math.min(highVRow, virtualH - 1));
206
+ const wickBot = Math.max(0, Math.min(lowVRow, virtualH - 1));
207
+ const bodyTop = Math.max(0, Math.min(bodyTopVRow, virtualH - 1));
208
+ const bodyBot = Math.max(0, Math.min(bodyBotVRow, virtualH - 1));
209
+ // Draw each terminal row for this column
210
+ for (let row = 0; row < plotH; row++) {
211
+ const vTop = row * 2; // virtual sub-row for top half of this terminal row
212
+ const vBot = row * 2 + 1; // virtual sub-row for bottom half
213
+ // Check what each sub-row contains: body, wick, or nothing
214
+ const topIsBody = vTop >= bodyTop && vTop <= bodyBot;
215
+ const botIsBody = vBot >= bodyTop && vBot <= bodyBot;
216
+ const topIsWick = !topIsBody && vTop >= wickTop && vTop <= wickBot;
217
+ const botIsWick = !botIsBody && vBot >= wickTop && vBot <= wickBot;
218
+ if (topIsBody || botIsBody) {
219
+ // Body takes priority — draw block character
220
+ if (topIsBody && botIsBody) {
221
+ buffer.setCell(plotX + col, plotY + row, LEFT_HALF, bodyColor, transparent);
222
+ }
223
+ else if (topIsBody) {
224
+ // Top is body, bottom might be wick
225
+ buffer.setCell(plotX + col, plotY + row, QUAD_UL, bodyColor, transparent);
226
+ }
227
+ else {
228
+ // Bottom is body, top might be wick
229
+ buffer.setCell(plotX + col, plotY + row, QUAD_LL, bodyColor, transparent);
230
+ }
231
+ }
232
+ else if (topIsWick || botIsWick) {
233
+ // Only wick in this terminal row — draw thin line
234
+ buffer.setCell(plotX + col, plotY + row, '│', wickRgba, transparent);
235
+ }
236
+ }
237
+ // Handle doji case: when open == close, body is a single sub-row line.
238
+ // If bodyTop == bodyBot, ensure at least one cell is drawn with body color.
239
+ if (bodyTop === bodyBot) {
240
+ const row = Math.floor(bodyTop / 2);
241
+ const subRow = bodyTop % 2;
242
+ if (row >= 0 && row < plotH) {
243
+ const char = subRow === 0 ? QUAD_UL : QUAD_LL;
244
+ buffer.setCell(plotX + col, plotY + row, char, bodyColor, transparent);
245
+ }
246
+ }
247
+ }
248
+ }
249
+ // ── Main render ────────────────────────────────────────────────
250
+ renderSelf(buffer) {
251
+ const layout = this.computeLayout();
252
+ if (!layout)
253
+ return;
254
+ this.drawAxes(buffer, layout);
255
+ const yRange = this._yMax - this._yMin;
256
+ if (yRange === 0 || this._candles.length === 0)
257
+ return;
258
+ const { plotX, plotY, plotW, plotH } = layout;
259
+ this.renderCandles(buffer, plotX, plotY, plotW, plotH);
260
+ }
261
+ }
262
+ // ── Register the custom renderable ───────────────────────────────────
263
+ extend({ 'candle-chart-plot': CandleChartRenderable });
264
+ const CandleChart = (props) => {
265
+ const theme = useTheme();
266
+ const { data, height = 15, xLabels = [], yRange, yTicks = 5, yFormat, upColor, downColor, } = props;
267
+ const resolvedUpColor = resolveColor(upColor) || Color.Green;
268
+ const resolvedDownColor = resolveColor(downColor) || Color.Red;
269
+ // Auto-compute Y range from data high/low if not provided
270
+ const computedYRange = useMemo(() => {
271
+ if (yRange)
272
+ return yRange;
273
+ let min = Infinity;
274
+ let max = -Infinity;
275
+ for (const candle of data) {
276
+ if (candle.low < min)
277
+ min = candle.low;
278
+ if (candle.high > max)
279
+ max = candle.high;
280
+ }
281
+ if (min === Infinity)
282
+ return [0, 100];
283
+ // Add padding so candles don't touch edges.
284
+ // When max === min (flat data), use absolute padding to avoid zero range.
285
+ const padding = max === min
286
+ ? Math.max(Math.abs(max) * 0.01, 1)
287
+ : (max - min) * 0.05;
288
+ return [min - padding, max + padding];
289
+ }, [data, yRange]);
290
+ // Total height = plot rows + 1 for x-axis labels
291
+ const totalHeight = height + (xLabels.length > 0 ? 1 : 0);
292
+ return (_jsx("candle-chart-plot", { width: "100%", height: totalHeight, candles: data, xLabels: xLabels, yMin: computedYRange[0], yMax: computedYRange[1], yTicks: yTicks, yFormat: yFormat, axisColor: theme.textMuted, upColor: resolvedUpColor, downColor: resolvedDownColor, wickColor: theme.textMuted }));
293
+ };
294
+ export { CandleChart };
295
+ //# sourceMappingURL=candle-chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candle-chart.js","sourceRoot":"","sources":["../../src/components/candle-chart.tsx"],"names":[],"mappings":"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"}
@@ -26,6 +26,8 @@ export declare class TableRenderable extends Renderable {
26
26
  private getStyle;
27
27
  private toStyledText;
28
28
  private styledHeaderChunks;
29
+ private getCellContentWidth;
30
+ private getColumnWidths;
29
31
  private rebuild;
30
32
  private rebuildColumnBased;
31
33
  private rebuildRowBased;
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/components/table.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/components/table.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,UAAU,EACV,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,WAAW,EAEX,UAAU,EAKV,KAAK,eAAe,EACrB,MAAM,eAAe,CAAA;AAOtB,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,UAAU,CAAA;AAElD,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB,CAAC,eAAe,CAAC;IAChF,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B,IAAI,CAAC,EAAE,gBAAgB,EAAE,EAAE,CAAA;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,wFAAwF;IACxF,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,qBAAa,eAAgB,SAAQ,UAAU;IAC7C,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,YAAY,CAAC,CAAa;IAClC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,WAAW,CAAO;IAC1B,OAAO,CAAC,oBAAoB,CAAO;gBAEvB,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,sBAAsB;IAoB/D,IAAI,OAAO,IAAI,gBAAgB,EAAE,CAEhC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,gBAAgB,EAAE,EAMpC;IAED,IAAI,IAAI,IAAI,gBAAgB,EAAE,EAAE,CAE/B;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,gBAAgB,EAAE,EAAE,EAQnC;IAED,IAAI,WAAW,IAAI,WAAW,GAAG,SAAS,CAEzC;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,EAI7C;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAO1B;IAED,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,OAAO;IA6Bf,OAAO,CAAC,kBAAkB;IAiE1B,OAAO,CAAC,eAAe;IAkEvB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,wBAAwB;IAoDhC,OAAO,CAAC,qBAAqB;IAyD7B,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAWvE;AAMD,OAAO,QAAQ,gBAAgB,CAAC;IAC9B,UAAU,iBAAiB;QACzB,YAAY,EAAE,OAAO,eAAe,CAAA;KACrC;CACF;AAMD,KAAK,gBAAgB,GAAG,OAAO,CAC7B,IAAI,CACF,iBAAiB,CAAC,eAAe,CAAC,EAChC,UAAU,GACV,YAAY,GACZ,WAAW,GACX,WAAW,GACX,SAAS,GACT,UAAU,GACV,UAAU,GACV,YAAY,GACZ,cAAc,GACd,eAAe,GACf,aAAa,GACb,QAAQ,GACR,SAAS,GACT,SAAS,GACT,WAAW,GACX,aAAa,GACb,cAAc,GACd,YAAY,GACZ,UAAU,GACV,WAAW,GACX,UAAU,GACV,WAAW,CACd,CACF,CAAA;AAED,MAAM,WAAW,UAAW,SAAQ,gBAAgB;IAClD;kFAC8E;IAC9E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,6DAA6D;IAC7D,IAAI,EAAE,MAAM,EAAE,EAAE,CAAA;IAChB,wFAAwF;IACxF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,MAAM,GAAG,CAAA;IACtC,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,MAAM,GAAG,CAAA;CACxC;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,GAAG,CAmC5C"}
@@ -127,6 +127,29 @@ export class TableRenderable extends Renderable {
127
127
  }));
128
128
  return new StyledText(styledChunks);
129
129
  }
130
+ getCellContentWidth(content) {
131
+ return this.toStyledText(content).chunks.reduce((width, chunk) => {
132
+ return width + chunk.text.length;
133
+ }, 0);
134
+ }
135
+ getColumnWidths({ colCount }) {
136
+ const minColumnWidth = 3;
137
+ const maxColumnWidth = 32;
138
+ const headerWidths = Array.from({ length: colCount }, (_, col) => {
139
+ const headerContent = this._headers[col] ?? '';
140
+ return this.getCellContentWidth(headerContent) + 2;
141
+ });
142
+ const rowWidths = this._rows.reduce((widths, row) => {
143
+ return widths.map((currentWidth, col) => {
144
+ const cellContent = row[col] ?? '';
145
+ const cellWidth = this.getCellContentWidth(cellContent) + 2;
146
+ return Math.max(currentWidth, cellWidth);
147
+ });
148
+ }, headerWidths);
149
+ return rowWidths.map((width) => {
150
+ return Math.min(maxColumnWidth, Math.max(minColumnWidth, width));
151
+ });
152
+ }
130
153
  rebuild() {
131
154
  // Remove all existing children (copy array since remove mutates it)
132
155
  const children = [...this._childrenInLayoutOrder];
@@ -201,6 +224,7 @@ export class TableRenderable extends Renderable {
201
224
  // Row-based: each row is a horizontal box. Equal-width columns but
202
225
  // cells in the same row share height, so wrapped text aligns correctly.
203
226
  rebuildRowBased(colCount, headingStyle, headerBg, headerFg, stripeBg) {
227
+ const columnWidths = this.getColumnWidths({ colCount });
204
228
  if (this._headers.length > 0) {
205
229
  const headerRow = new BoxRenderable(this.ctx, {
206
230
  id: `${this.id}-header-row`,
@@ -208,14 +232,16 @@ export class TableRenderable extends Renderable {
208
232
  backgroundColor: headerBg,
209
233
  });
210
234
  for (let col = 0; col < colCount; col++) {
235
+ const columnWidth = columnWidths[col] ?? 1;
211
236
  const headerContent = this._headers[col] ?? '';
212
237
  let headerStyledText = this.toStyledText(headerContent);
213
238
  headerStyledText = this.styledHeaderChunks(headerStyledText, headingStyle, headerFg);
214
239
  headerRow.add(new TextRenderable(this.ctx, {
215
240
  id: `${this.id}-header-${col}`,
216
241
  content: headerStyledText,
217
- flexGrow: 1,
218
- flexBasis: 0,
242
+ flexGrow: columnWidth,
243
+ flexShrink: 1,
244
+ flexBasis: columnWidth,
219
245
  paddingLeft: 1,
220
246
  paddingRight: 1,
221
247
  }));
@@ -230,13 +256,15 @@ export class TableRenderable extends Renderable {
230
256
  backgroundColor: isOddRow ? stripeBg : undefined,
231
257
  });
232
258
  for (let col = 0; col < colCount; col++) {
259
+ const columnWidth = columnWidths[col] ?? 1;
233
260
  const cell = this._rows[row]?.[col] ?? '';
234
261
  const cellContent = this.toStyledText(cell);
235
262
  rowBox.add(new TextRenderable(this.ctx, {
236
263
  id: `${this.id}-row-${row}-col-${col}`,
237
264
  content: cellContent,
238
- flexGrow: 1,
239
- flexBasis: 0,
265
+ flexGrow: columnWidth,
266
+ flexShrink: 1,
267
+ flexBasis: columnWidth,
240
268
  paddingLeft: 1,
241
269
  paddingRight: 1,
242
270
  }));
@@ -307,17 +335,22 @@ export class TableRenderable extends Renderable {
307
335
  const allRows = this._childrenInLayoutOrder;
308
336
  const colCount = this._headers.length || this._rows[0]?.length || 0;
309
337
  const hasHeaders = this._headers.length > 0;
338
+ const columnWidths = this.getColumnWidths({ colCount });
310
339
  if (hasHeaders) {
311
340
  const headerRow = allRows[0];
312
341
  if (headerRow instanceof BoxRenderable) {
313
342
  headerRow.backgroundColor = headerBg ?? 'transparent';
314
343
  const headerCells = headerRow._childrenInLayoutOrder;
315
344
  for (let col = 0; col < colCount; col++) {
345
+ const columnWidth = columnWidths[col] ?? 1;
316
346
  const headerText = headerCells[col];
317
347
  if (headerText instanceof TextRenderable) {
318
348
  const headerContent = this._headers[col] ?? '';
319
349
  let headerStyledText = this.toStyledText(headerContent);
320
350
  headerStyledText = this.styledHeaderChunks(headerStyledText, headingStyle, headerFg);
351
+ headerText.flexGrow = columnWidth;
352
+ headerText.flexShrink = 1;
353
+ headerText.flexBasis = columnWidth;
321
354
  headerText.content = headerStyledText;
322
355
  }
323
356
  }
@@ -332,9 +365,13 @@ export class TableRenderable extends Renderable {
332
365
  rowBox.backgroundColor = isOddRow && stripeBg ? stripeBg : 'transparent';
333
366
  const rowCells = rowBox._childrenInLayoutOrder;
334
367
  for (let col = 0; col < colCount; col++) {
368
+ const columnWidth = columnWidths[col] ?? 1;
335
369
  const cellText = rowCells[col];
336
370
  if (cellText instanceof TextRenderable) {
337
371
  const cell = this._rows[row]?.[col] ?? '';
372
+ cellText.flexGrow = columnWidth;
373
+ cellText.flexShrink = 1;
374
+ cellText.flexBasis = columnWidth;
338
375
  cellText.content = this.toStyledText(cell);
339
376
  }
340
377
  }
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/components/table.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/components/table.tsx"],"names":[],"mappings":"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"}