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.
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +30 -5
- package/dist/app.js.map +1 -1
- package/dist/components/candle-chart.d.ts +110 -0
- package/dist/components/candle-chart.d.ts.map +1 -0
- package/dist/components/candle-chart.js +295 -0
- package/dist/components/candle-chart.js.map +1 -0
- package/dist/components/table.d.ts +2 -0
- package/dist/components/table.d.ts.map +1 -1
- package/dist/components/table.js +41 -4
- package/dist/components/table.js.map +1 -1
- package/dist/examples/simple-candle-chart-data.d.ts +9064 -0
- package/dist/examples/simple-candle-chart-data.d.ts.map +1 -0
- package/dist/examples/simple-candle-chart-data.js +12683 -0
- package/dist/examples/simple-candle-chart-data.js.map +1 -0
- package/dist/examples/simple-candle-chart.d.ts +2 -0
- package/dist/examples/simple-candle-chart.d.ts.map +1 -0
- package/dist/examples/simple-candle-chart.js +125 -0
- package/dist/examples/simple-candle-chart.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/app.tsx +35 -5
- package/src/components/candle-chart.tsx +410 -0
- package/src/components/table.tsx +46 -4
- package/src/examples/simple-candle-chart-data.ts +12683 -0
- package/src/examples/simple-candle-chart.tsx +363 -0
- package/src/examples/simple-candle-chart.vitest.tsx +269 -0
- package/src/examples/simple-detail-table.vitest.tsx +2 -2
- package/src/examples/simple-table-wrap.vitest.tsx +19 -19
- package/src/examples/table-flex-grow.vitest.tsx +8 -8
- 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":"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,OAAO;IA6Bf,OAAO,CAAC,kBAAkB;IAiE1B,OAAO,CAAC,eAAe;
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/components/table.tsx"],"names":[],"mappings":"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"}
|
package/dist/components/table.js
CHANGED
|
@@ -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:
|
|
218
|
-
|
|
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:
|
|
239
|
-
|
|
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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"}
|