@tooee/renderers 0.1.4 → 0.1.6

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.
@@ -0,0 +1,428 @@
1
+ import { ScrollBoxRenderable, RGBA, } from "@opentui/core";
2
+ // ---------------------------------------------------------------------------
3
+ // Provider detection
4
+ // ---------------------------------------------------------------------------
5
+ function isRowContentProvider(x) {
6
+ return (!!x &&
7
+ typeof x === "object" &&
8
+ "lineInfo" in x &&
9
+ "lineCount" in x &&
10
+ "virtualLineCount" in x);
11
+ }
12
+ // ---------------------------------------------------------------------------
13
+ // Color cache — avoids re-parsing hex strings every frame
14
+ // ---------------------------------------------------------------------------
15
+ const colorCache = new Map();
16
+ function cachedColor(hex) {
17
+ let c = colorCache.get(hex);
18
+ if (!c) {
19
+ c = RGBA.fromHex(hex);
20
+ colorCache.set(hex, c);
21
+ }
22
+ return c;
23
+ }
24
+ // ---------------------------------------------------------------------------
25
+ // RowDocumentRenderable
26
+ // ---------------------------------------------------------------------------
27
+ export class RowDocumentRenderable extends ScrollBoxRenderable {
28
+ // -- Options --
29
+ _mode;
30
+ _showGutter;
31
+ _showLineNumbers;
32
+ _lineNumberStart;
33
+ _signColumnWidth;
34
+ _gutterPaddingRight;
35
+ _rowChildOffset;
36
+ _palette;
37
+ // -- Decorations --
38
+ _deco = {};
39
+ // -- Geometry arrays --
40
+ _rowVirtualStarts = [];
41
+ _rowVirtualHeights = [];
42
+ _virtualRowToRow = [];
43
+ _virtualRowWraps = [];
44
+ _rowCount = 0;
45
+ _lastGeometryHash = "";
46
+ constructor(ctx, options) {
47
+ super(ctx, options);
48
+ this._mode = options.mode ?? "auto";
49
+ this._showGutter = options.showGutter ?? true;
50
+ this._showLineNumbers = options.showLineNumbers ?? true;
51
+ this._lineNumberStart = options.lineNumberStart ?? 1;
52
+ this._signColumnWidth = options.signColumnWidth ?? 0;
53
+ this._gutterPaddingRight = options.gutterPaddingRight ?? 1;
54
+ this._rowChildOffset = options.rowChildOffset ?? 0;
55
+ const p = options.palette ?? {};
56
+ this._palette = {
57
+ gutterFg: p.gutterFg ?? "#6e7681",
58
+ gutterBg: p.gutterBg ?? "#0d1117",
59
+ cursorBg: p.cursorBg ?? "#1c2128",
60
+ selectionBg: p.selectionBg ?? "#1f3a5f",
61
+ matchBg: p.matchBg ?? "#3b2e00",
62
+ currentMatchBg: p.currentMatchBg ?? "#5a4a00",
63
+ toggledBg: p.toggledBg ?? "#1c2128",
64
+ cursorSign: p.cursorSign ?? "▸",
65
+ cursorSignFg: p.cursorSignFg ?? "#58a6ff",
66
+ matchSign: p.matchSign ?? "●",
67
+ matchSignFg: p.matchSignFg ?? "#d29922",
68
+ currentMatchSignFg: p.currentMatchSignFg ?? "#f0c000",
69
+ };
70
+ }
71
+ // -----------------------------------------------------------------------
72
+ // Decorations
73
+ // -----------------------------------------------------------------------
74
+ setDecorations(decorations) {
75
+ this._deco = decorations;
76
+ this.requestRender();
77
+ }
78
+ // -----------------------------------------------------------------------
79
+ // Gutter config setters
80
+ // -----------------------------------------------------------------------
81
+ set showGutter(value) {
82
+ if (this._showGutter !== value) {
83
+ this._showGutter = value;
84
+ this._applyGutterPadding();
85
+ this.requestRender();
86
+ }
87
+ }
88
+ set showLineNumbers(value) {
89
+ if (this._showLineNumbers !== value) {
90
+ this._showLineNumbers = value;
91
+ this._applyGutterPadding();
92
+ this.requestRender();
93
+ }
94
+ }
95
+ // -----------------------------------------------------------------------
96
+ // Geometry — public API
97
+ // -----------------------------------------------------------------------
98
+ get rowCount() {
99
+ return this._rowCount;
100
+ }
101
+ get virtualRowCount() {
102
+ return this._virtualRowToRow.length;
103
+ }
104
+ getRowMetrics(row) {
105
+ if (row < 0 || row >= this._rowCount)
106
+ return null;
107
+ return {
108
+ row,
109
+ virtualTop: this._rowVirtualStarts[row],
110
+ virtualHeight: this._rowVirtualHeights[row],
111
+ };
112
+ }
113
+ getRowAtVirtualY(y) {
114
+ const clamped = Math.max(0, Math.min(y, this._virtualRowToRow.length - 1));
115
+ const row = this._virtualRowToRow[clamped];
116
+ if (row != null && row >= 0)
117
+ return row;
118
+ // Gap row — search backward for nearest valid row
119
+ for (let i = clamped - 1; i >= 0; i--) {
120
+ const r = this._virtualRowToRow[i];
121
+ if (r != null && r >= 0)
122
+ return r;
123
+ }
124
+ return 0;
125
+ }
126
+ getVisibleRange() {
127
+ const top = Math.floor(this.scrollTop);
128
+ const bottom = top + this.viewport.height;
129
+ return {
130
+ virtualTop: top,
131
+ virtualBottom: bottom,
132
+ firstRow: this.getRowAtVirtualY(top),
133
+ lastRow: this.getRowAtVirtualY(bottom - 1),
134
+ };
135
+ }
136
+ // -----------------------------------------------------------------------
137
+ // scrollToRow
138
+ // -----------------------------------------------------------------------
139
+ scrollToRow(row, align = "nearest") {
140
+ const metrics = this.getRowMetrics(row);
141
+ if (!metrics)
142
+ return;
143
+ const vpHeight = this.viewport.height;
144
+ const { virtualTop, virtualHeight } = metrics;
145
+ let target = this.scrollTop;
146
+ switch (align) {
147
+ case "start":
148
+ target = virtualTop;
149
+ break;
150
+ case "center":
151
+ target = virtualTop - (vpHeight - virtualHeight) / 2;
152
+ break;
153
+ case "end":
154
+ target = virtualTop + virtualHeight - vpHeight;
155
+ break;
156
+ case "nearest": {
157
+ if (virtualTop < this.scrollTop) {
158
+ target = virtualTop;
159
+ }
160
+ else if (virtualTop + virtualHeight > this.scrollTop + vpHeight) {
161
+ target = virtualTop + virtualHeight - vpHeight;
162
+ }
163
+ break;
164
+ }
165
+ }
166
+ // When scrolling to the first row, include header content (pre-offset children)
167
+ if (row === 0 && this._rowChildOffset > 0) {
168
+ target = Math.min(target, 0);
169
+ }
170
+ // When the next row is the last logical row (e.g. bottom border),
171
+ // extend the scroll to include it
172
+ if (row + 1 === this._rowCount - 1) {
173
+ const next = this.getRowMetrics(row + 1);
174
+ if (next) {
175
+ const bottomEdge = next.virtualTop + next.virtualHeight;
176
+ if (bottomEdge > target + vpHeight) {
177
+ target = bottomEdge - vpHeight;
178
+ }
179
+ }
180
+ }
181
+ this.scrollTop = Math.max(0, Math.round(target));
182
+ }
183
+ // -----------------------------------------------------------------------
184
+ // Rendering
185
+ // -----------------------------------------------------------------------
186
+ renderSelf(buffer) {
187
+ // Let ScrollBox do its own rendering first
188
+ super.renderSelf(buffer);
189
+ // Recompute geometry every frame (cheap — just iterating children)
190
+ this._computeGeometry();
191
+ // Apply gutter padding to content area
192
+ this._applyGutterPadding();
193
+ // Paint decorations and gutter on top
194
+ this._paintDecorations(buffer);
195
+ if (this._showGutter) {
196
+ this._paintGutter(buffer);
197
+ }
198
+ }
199
+ // -----------------------------------------------------------------------
200
+ // Geometry computation
201
+ // -----------------------------------------------------------------------
202
+ _detectMode() {
203
+ if (this._mode === "multi")
204
+ return "multi";
205
+ if (this._mode === "provider")
206
+ return "provider";
207
+ // Auto-detect: single child with LineInfoProvider → provider mode
208
+ const children = this.getChildren();
209
+ if (children.length === 1 && isRowContentProvider(children[0])) {
210
+ return "provider";
211
+ }
212
+ return "multi";
213
+ }
214
+ _computeGeometry() {
215
+ const mode = this._detectMode();
216
+ if (mode === "provider") {
217
+ this._computeFromProvider();
218
+ }
219
+ else {
220
+ this._computeFromChildren();
221
+ }
222
+ }
223
+ _computeFromChildren() {
224
+ const children = this.getChildren();
225
+ const offset = this._rowChildOffset;
226
+ const contentY = this.content.y;
227
+ const totalHeight = this.scrollHeight;
228
+ if (totalHeight === 0 || children.length <= offset) {
229
+ this._finishGeometry([], [], [], [], 0);
230
+ return;
231
+ }
232
+ const rowCount = children.length - offset;
233
+ const rowVirtualStarts = [];
234
+ const rowVirtualHeights = [];
235
+ const virtualRowToRow = new Array(totalHeight).fill(-1);
236
+ const virtualRowWraps = new Array(totalHeight).fill(0);
237
+ for (let i = offset; i < children.length; i++) {
238
+ const row = i - offset;
239
+ const child = children[i];
240
+ const childStart = child.y - contentY;
241
+ const h = Math.max(1, child.height);
242
+ rowVirtualStarts[row] = childStart;
243
+ rowVirtualHeights[row] = h;
244
+ for (let r = 0; r < h; r++) {
245
+ const vRow = childStart + r;
246
+ if (vRow >= 0 && vRow < totalHeight) {
247
+ virtualRowToRow[vRow] = row;
248
+ virtualRowWraps[vRow] = r === 0 ? 0 : 1;
249
+ }
250
+ }
251
+ }
252
+ this._finishGeometry(rowVirtualStarts, rowVirtualHeights, virtualRowToRow, virtualRowWraps, rowCount);
253
+ }
254
+ _computeFromProvider() {
255
+ const children = this.getChildren();
256
+ if (children.length === 0)
257
+ return;
258
+ const provider = children[0];
259
+ if (!isRowContentProvider(provider))
260
+ return;
261
+ const info = provider.lineInfo;
262
+ const { lineSources, lineWraps } = info;
263
+ const rowVirtualStarts = [];
264
+ const rowVirtualHeights = [];
265
+ const virtualRowToRow = [];
266
+ const virtualRowWraps = [];
267
+ let currentRow = -1;
268
+ let rowCount = 0;
269
+ for (let v = 0; v < lineSources.length; v++) {
270
+ const row = lineSources[v];
271
+ virtualRowToRow[v] = row;
272
+ virtualRowWraps[v] = lineWraps[v];
273
+ if (row !== currentRow) {
274
+ // New logical row
275
+ if (currentRow >= 0) {
276
+ rowVirtualHeights[currentRow] = v - rowVirtualStarts[currentRow];
277
+ }
278
+ rowVirtualStarts[row] = v;
279
+ currentRow = row;
280
+ rowCount = Math.max(rowCount, row + 1);
281
+ }
282
+ }
283
+ // Finalize last row
284
+ if (currentRow >= 0) {
285
+ rowVirtualHeights[currentRow] =
286
+ lineSources.length - rowVirtualStarts[currentRow];
287
+ }
288
+ this._finishGeometry(rowVirtualStarts, rowVirtualHeights, virtualRowToRow, virtualRowWraps, rowCount);
289
+ }
290
+ _finishGeometry(rowVirtualStarts, rowVirtualHeights, virtualRowToRow, virtualRowWraps, rowCount) {
291
+ // Change detection via hash
292
+ const hash = rowVirtualStarts.join(",");
293
+ if (hash !== this._lastGeometryHash) {
294
+ this._rowVirtualStarts = rowVirtualStarts;
295
+ this._rowVirtualHeights = rowVirtualHeights;
296
+ this._virtualRowToRow = virtualRowToRow;
297
+ this._virtualRowWraps = virtualRowWraps;
298
+ this._rowCount = rowCount;
299
+ this._lastGeometryHash = hash;
300
+ this.emit("row-geometry-change");
301
+ }
302
+ }
303
+ // -----------------------------------------------------------------------
304
+ // Gutter width calculation and padding
305
+ // -----------------------------------------------------------------------
306
+ _computeGutterWidth() {
307
+ if (!this._showGutter)
308
+ return 0;
309
+ let width = 0;
310
+ if (this._showLineNumbers) {
311
+ const maxLineNum = this._lineNumberStart + this._rowCount - 1;
312
+ width += Math.max(String(maxLineNum).length, 1);
313
+ }
314
+ width += this._signColumnWidth;
315
+ width += this._gutterPaddingRight;
316
+ return width;
317
+ }
318
+ _applyGutterPadding() {
319
+ const gutterWidth = this._computeGutterWidth();
320
+ this.content.paddingLeft = gutterWidth;
321
+ }
322
+ // -----------------------------------------------------------------------
323
+ // Decoration painting (row backgrounds)
324
+ // -----------------------------------------------------------------------
325
+ _paintDecorations(buffer) {
326
+ const { cursorRow, selection, matchingRows, currentMatchRow, toggledRows, } = this._deco;
327
+ const hasDecorations = cursorRow != null ||
328
+ selection != null ||
329
+ (matchingRows && matchingRows.size > 0) ||
330
+ currentMatchRow != null ||
331
+ (toggledRows && toggledRows.size > 0);
332
+ if (!hasDecorations)
333
+ return;
334
+ const vpX = this.viewport.x;
335
+ const vpY = this.viewport.y;
336
+ const vpHeight = this.viewport.height;
337
+ const vpWidth = this.viewport.width;
338
+ const top = Math.floor(this.scrollTop);
339
+ for (let screenY = 0; screenY < vpHeight; screenY++) {
340
+ const vRow = top + screenY;
341
+ if (vRow >= this._virtualRowToRow.length)
342
+ break;
343
+ const row = this._virtualRowToRow[vRow];
344
+ if (row < 0)
345
+ continue; // Skip gap rows (margins)
346
+ let bg = null;
347
+ // Priority order: currentMatch > match > selection > toggled > cursor
348
+ if (cursorRow != null && row === cursorRow) {
349
+ bg = cachedColor(this._palette.cursorBg);
350
+ }
351
+ if (toggledRows && toggledRows.has(row)) {
352
+ bg = cachedColor(this._palette.toggledBg);
353
+ }
354
+ if (selection && row >= selection.start && row <= selection.end) {
355
+ bg = cachedColor(this._palette.selectionBg);
356
+ }
357
+ if (matchingRows && matchingRows.has(row)) {
358
+ bg = cachedColor(this._palette.matchBg);
359
+ }
360
+ if (currentMatchRow != null && row === currentMatchRow) {
361
+ bg = cachedColor(this._palette.currentMatchBg);
362
+ }
363
+ if (bg) {
364
+ buffer.fillRect(vpX, vpY + screenY, vpWidth, 1, bg);
365
+ }
366
+ }
367
+ }
368
+ // -----------------------------------------------------------------------
369
+ // Gutter painting
370
+ // -----------------------------------------------------------------------
371
+ _paintGutter(buffer) {
372
+ const gutterWidth = this._computeGutterWidth();
373
+ if (gutterWidth === 0)
374
+ return;
375
+ const vpX = this.viewport.x;
376
+ const vpY = this.viewport.y;
377
+ const vpHeight = this.viewport.height;
378
+ const top = Math.floor(this.scrollTop);
379
+ const gutterBg = cachedColor(this._palette.gutterBg);
380
+ const gutterFg = cachedColor(this._palette.gutterFg);
381
+ // Fill gutter background
382
+ buffer.fillRect(vpX, vpY, gutterWidth, vpHeight, gutterBg);
383
+ const lineNumWidth = this._showLineNumbers
384
+ ? Math.max(String(this._lineNumberStart + this._rowCount - 1).length, 1)
385
+ : 0;
386
+ for (let screenY = 0; screenY < vpHeight; screenY++) {
387
+ const vRow = top + screenY;
388
+ if (vRow >= this._virtualRowToRow.length)
389
+ break;
390
+ const row = this._virtualRowToRow[vRow];
391
+ if (row < 0)
392
+ continue; // Skip gap rows (margins)
393
+ const isFirstLine = this._virtualRowWraps[vRow] === 0;
394
+ if (!isFirstLine)
395
+ continue;
396
+ const drawX = vpX;
397
+ let col = 0;
398
+ // Line number
399
+ if (this._showLineNumbers) {
400
+ const lineNum = String(this._lineNumberStart + row);
401
+ const padded = lineNum.padStart(lineNumWidth, " ");
402
+ buffer.drawText(padded, drawX + col, vpY + screenY, gutterFg, gutterBg);
403
+ col += lineNumWidth;
404
+ }
405
+ // Sign column
406
+ if (this._signColumnWidth > 0) {
407
+ const { cursorRow, matchingRows, currentMatchRow } = this._deco;
408
+ const customSign = this._deco.signs?.get(row);
409
+ if (customSign) {
410
+ const signFg = customSign.fg
411
+ ? cachedColor(customSign.fg)
412
+ : gutterFg;
413
+ buffer.drawText(customSign.text.slice(0, this._signColumnWidth), drawX + col, vpY + screenY, signFg, gutterBg);
414
+ }
415
+ else if (cursorRow != null && row === cursorRow) {
416
+ buffer.drawText(this._palette.cursorSign, drawX + col, vpY + screenY, cachedColor(this._palette.cursorSignFg), gutterBg);
417
+ }
418
+ else if (currentMatchRow != null && row === currentMatchRow) {
419
+ buffer.drawText(this._palette.matchSign, drawX + col, vpY + screenY, cachedColor(this._palette.currentMatchSignFg), gutterBg);
420
+ }
421
+ else if (matchingRows && matchingRows.has(row)) {
422
+ buffer.drawText(this._palette.matchSign, drawX + col, vpY + screenY, cachedColor(this._palette.matchSignFg), gutterBg);
423
+ }
424
+ }
425
+ }
426
+ }
427
+ }
428
+ //# sourceMappingURL=RowDocumentRenderable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RowDocumentRenderable.js","sourceRoot":"","sources":["../src/RowDocumentRenderable.ts"],"names":[],"mappings":"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"}
package/dist/Table.d.ts CHANGED
@@ -1,4 +1,7 @@
1
+ import { type RefObject } from "react";
1
2
  import type { ColumnDef, TableRow } from "./table-types.js";
3
+ import type { RowDocumentRenderable } from "./RowDocumentRenderable.js";
4
+ import "./row-document.js";
2
5
  export interface TableProps {
3
6
  columns: ColumnDef[];
4
7
  rows: TableRow[];
@@ -16,6 +19,7 @@ export interface TableProps {
16
19
  matchingRows?: Set<number>;
17
20
  currentMatchRow?: number;
18
21
  toggledRows?: Set<number>;
22
+ docRef?: RefObject<RowDocumentRenderable | null>;
19
23
  }
20
24
  declare function isNumeric(value: string): boolean;
21
25
  interface ColumnWidthOptions {
@@ -29,7 +33,7 @@ declare function truncate(text: string, width: number): string;
29
33
  declare function padCell(text: string, width: number, rightAlign: boolean): string;
30
34
  declare function buildBorderLine(widths: number[], left: string, mid: string, right: string, fill: string): string;
31
35
  declare function buildDataLine(cells: string[], widths: number[], alignments: boolean[]): string;
32
- export declare function Table({ columns, rows, maxWidth, minColumnWidth, maxColumnWidth, sampleSize, cursor, selectionStart, selectionEnd, matchingRows, currentMatchRow, toggledRows, }: TableProps): import("react").ReactNode;
36
+ export declare function Table({ columns, rows, maxWidth, minColumnWidth, maxColumnWidth, sampleSize, cursor, selectionStart, selectionEnd, matchingRows, currentMatchRow, toggledRows, docRef, }: TableProps): import("react").ReactNode;
33
37
  export { computeColumnWidths, truncate, padCell, isNumeric, buildBorderLine, buildDataLine, sampleRows, };
34
38
  export type { ColumnWidthOptions };
35
39
  //# sourceMappingURL=Table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../src/Table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAE3D,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,IAAI,EAAE,QAAQ,EAAE,CAAA;IAChB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC1B;AASD,iBAAS,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEzC;AAED,UAAU,kBAAkB;IAC1B,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,iBAAS,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,CASpE;AAED,iBAAS,mBAAmB,CAC1B,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,EAAE,MAAM,EAAE,EAAE,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,kBAAkB,GAC1B,MAAM,EAAE,CAsDV;AAED,iBAAS,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED,iBAAS,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,CAWzE;AAED,iBAAS,eAAe,CACtB,MAAM,EAAE,MAAM,EAAE,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,MAAM,CAER;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,CAGvF;AAcD,wBAAgB,KAAK,CAAC,EACpB,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,cAAsC,EACtC,cAAsC,EACtC,UAAgC,EAChC,MAAM,EACN,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,WAAW,GACZ,EAAE,UAAU,6BA6EZ;AAGD,OAAO,EACL,mBAAmB,EACnB,QAAQ,EACR,OAAO,EACP,SAAS,EACT,eAAe,EACf,aAAa,EACb,UAAU,GACX,CAAA;AACD,YAAY,EAAE,kBAAkB,EAAE,CAAA"}
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../src/Table.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,KAAK,EAAE,qBAAqB,EAA8C,MAAM,4BAA4B,CAAA;AACnH,OAAO,mBAAmB,CAAA;AAE1B,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,IAAI,EAAE,QAAQ,EAAE,CAAA;IAChB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACzB,MAAM,CAAC,EAAE,SAAS,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAA;CACjD;AASD,iBAAS,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEzC;AAED,UAAU,kBAAkB;IAC1B,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,iBAAS,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,CASpE;AAED,iBAAS,mBAAmB,CAC1B,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,EAAE,MAAM,EAAE,EAAE,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,kBAAkB,GAC1B,MAAM,EAAE,CAsDV;AAED,iBAAS,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED,iBAAS,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,CAWzE;AAED,iBAAS,eAAe,CACtB,MAAM,EAAE,MAAM,EAAE,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,MAAM,CAER;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,CAGvF;AAcD,wBAAgB,KAAK,CAAC,EACpB,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,cAAsC,EACtC,cAAsC,EACtC,UAAgC,EAChC,MAAM,EACN,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,WAAW,EACX,MAAM,GACP,EAAE,UAAU,6BA0EZ;AAGD,OAAO,EACL,mBAAmB,EACnB,QAAQ,EACR,OAAO,EACP,SAAS,EACT,eAAe,EACf,aAAa,EACb,UAAU,GACX,CAAA;AACD,YAAY,EAAE,kBAAkB,EAAE,CAAA"}
package/dist/Table.js CHANGED
@@ -1,6 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
2
2
  import { useTerminalDimensions } from "@opentui/react";
3
3
  import { useTheme } from "@tooee/themes";
4
+ import { useEffect, useRef } from "react";
5
+ import "./row-document.js";
4
6
  const PADDING = 1;
5
7
  const THRESHOLD = 20;
6
8
  const ELLIPSIS = "…";
@@ -109,7 +111,7 @@ function formatCellValue(value) {
109
111
  return String(value);
110
112
  }
111
113
  }
112
- export function Table({ columns, rows, maxWidth, minColumnWidth = DEFAULT_MIN_COL_WIDTH, maxColumnWidth = DEFAULT_MAX_COL_WIDTH, sampleSize = DEFAULT_SAMPLE_SIZE, cursor, selectionStart, selectionEnd, matchingRows, currentMatchRow, toggledRows, }) {
114
+ export function Table({ columns, rows, maxWidth, minColumnWidth = DEFAULT_MIN_COL_WIDTH, maxColumnWidth = DEFAULT_MAX_COL_WIDTH, sampleSize = DEFAULT_SAMPLE_SIZE, cursor, selectionStart, selectionEnd, matchingRows, currentMatchRow, toggledRows, docRef, }) {
113
115
  const { theme } = useTheme();
114
116
  const { width: terminalWidth } = useTerminalDimensions();
115
117
  // Use terminal width minus margins (1 on each side) if maxWidth not provided
@@ -135,37 +137,28 @@ export function Table({ columns, rows, maxWidth, minColumnWidth = DEFAULT_MIN_CO
135
137
  const bottomBorder = buildBorderLine(colWidths, "└", "┴", "┘", "─");
136
138
  const headerLine = buildDataLine(headers, colWidths, alignments);
137
139
  const dataLines = normalizedRows.map((row) => buildDataLine(row, colWidths, alignments));
138
- const getRowStyle = (rowIndex) => {
139
- const isCursor = cursor === rowIndex;
140
- const isSelected = selectionStart != null &&
141
- selectionEnd != null &&
142
- rowIndex >= selectionStart &&
143
- rowIndex <= selectionEnd;
144
- const isMatch = matchingRows?.has(rowIndex);
145
- const isCurrentMatch = currentMatchRow === rowIndex;
146
- const isToggled = toggledRows?.has(rowIndex);
147
- let bg;
148
- let fg = theme.text;
149
- // Determine background: selection < cursor (cursor overwrites)
150
- if (isSelected) {
151
- bg = theme.selection;
152
- }
153
- if (isToggled && !isCursor && !isSelected) {
154
- bg = theme.backgroundPanel;
155
- }
156
- if (isCursor) {
157
- bg = theme.cursorLine;
158
- }
159
- // Highlight match indicator on matching rows
160
- if (isMatch && !isCursor) {
161
- fg = isCurrentMatch ? theme.primary : theme.warning;
162
- }
163
- return { fg, bg };
140
+ const internalRef = useRef(null);
141
+ const effectiveRef = docRef ?? internalRef;
142
+ const palette = {
143
+ cursorBg: theme.cursorLine,
144
+ selectionBg: theme.selection,
145
+ matchBg: theme.warning,
146
+ currentMatchBg: theme.primary,
147
+ toggledBg: theme.backgroundPanel,
164
148
  };
165
- return (_jsxs("box", { style: { flexDirection: "column", marginLeft: 1, marginRight: 1, marginBottom: 1 }, children: [_jsx("text", { content: topBorder, fg: theme.border }), _jsx("text", { content: headerLine, fg: theme.primary }), _jsx("text", { content: headerSep, fg: theme.border }), dataLines.map((line, i) => {
166
- const style = getRowStyle(i);
167
- return _jsx("text", { content: line, fg: style.fg, bg: style.bg }, i);
168
- }), _jsx("text", { content: bottomBorder, fg: theme.border })] }));
149
+ useEffect(() => {
150
+ const decorations = {
151
+ cursorRow: cursor,
152
+ selection: selectionStart != null && selectionEnd != null
153
+ ? { start: selectionStart, end: selectionEnd }
154
+ : null,
155
+ matchingRows: matchingRows,
156
+ currentMatchRow: currentMatchRow,
157
+ toggledRows: toggledRows,
158
+ };
159
+ effectiveRef.current?.setDecorations(decorations);
160
+ }, [cursor, selectionStart, selectionEnd, matchingRows, currentMatchRow, toggledRows]);
161
+ return (_jsxs("row-document", { ref: effectiveRef, mode: "multi", rowChildOffset: 3, showGutter: false, palette: palette, style: { flexGrow: 1, marginLeft: 1, marginRight: 1, marginBottom: 1 }, children: [_jsx("text", { content: topBorder, fg: theme.border }), _jsx("text", { content: headerLine, fg: theme.primary }), _jsx("text", { content: headerSep, fg: theme.border }), dataLines.map((line, i) => (_jsx("text", { content: line, fg: theme.text }, i))), _jsx("text", { content: bottomBorder, fg: theme.border })] }));
169
162
  }
170
163
  // Exported for testing
171
164
  export { computeColumnWidths, truncate, padCell, isNumeric, buildBorderLine, buildDataLine, sampleRows, };
package/dist/Table.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","sourceRoot":"","sources":["../src/Table.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Table.js","sourceRoot":"","sources":["../src/Table.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -8,4 +8,6 @@ export { CommandPalette } from "./CommandPalette.js";
8
8
  export type { CommandPaletteEntry } from "./CommandPalette.js";
9
9
  export { parseCSV, parseTSV, parseJSON, parseAuto, detectFormat } from "./parsers.js";
10
10
  export type { Format, ParsedTable } from "./parsers.js";
11
+ export { RowDocumentRenderable } from "./RowDocumentRenderable.js";
12
+ export type { RowDocumentOptions, RowDocumentPalette, RowDocumentDecorations, } from "./RowDocumentRenderable.js";
11
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EACL,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACR,OAAO,EACP,SAAS,EACT,eAAe,EACf,aAAa,EACb,UAAU,GACX,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAChE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACrF,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EACL,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACR,OAAO,EACP,SAAS,EACT,eAAe,EACf,aAAa,EACb,UAAU,GACX,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAChE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACrF,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,4BAA4B,CAAA"}
package/dist/index.js CHANGED
@@ -4,4 +4,5 @@ export { ImageView } from "./ImageView.js";
4
4
  export { Table, computeColumnWidths, truncate, padCell, isNumeric, buildBorderLine, buildDataLine, sampleRows, } from "./Table.js";
5
5
  export { CommandPalette } from "./CommandPalette.js";
6
6
  export { parseCSV, parseTSV, parseJSON, parseAuto, detectFormat } from "./parsers.js";
7
+ export { RowDocumentRenderable } from "./RowDocumentRenderable.js";
7
8
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EACL,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACR,OAAO,EACP,SAAS,EACT,eAAe,EACf,aAAa,EACb,UAAU,GACX,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EACL,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACR,OAAO,EACP,SAAS,EACT,eAAe,EACf,aAAa,EACb,UAAU,GACX,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAErF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA"}