harnessforce 1.3.7 → 1.3.8
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/ui/markdown.d.ts +1 -1
- package/dist/ui/markdown.d.ts.map +1 -1
- package/dist/ui/markdown.js +82 -3
- package/dist/ui/markdown.js.map +1 -1
- package/package.json +1 -1
package/dist/ui/markdown.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
/**
|
|
3
3
|
* Render a markdown string as styled Ink <Text> elements.
|
|
4
|
-
* Handles: **bold**, `code`, ## headings, - list items, ```code blocks
|
|
4
|
+
* Handles: **bold**, `code`, ## headings, - list items, ```code blocks```, | tables |
|
|
5
5
|
*/
|
|
6
6
|
export declare function MarkdownText({ children }: {
|
|
7
7
|
children: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/ui/markdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/ui/markdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAkF1B;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,YAAY,CAqGnF"}
|
package/dist/ui/markdown.js
CHANGED
|
@@ -1,20 +1,86 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { Text } from "ink";
|
|
3
|
+
/**
|
|
4
|
+
* Check if a line is a markdown table row (starts and ends with |, or starts with |).
|
|
5
|
+
*/
|
|
6
|
+
function isTableRow(line) {
|
|
7
|
+
return /^\s*\|/.test(line);
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Check if a line is a table separator row (e.g. |---|---|)
|
|
11
|
+
*/
|
|
12
|
+
function isSeparatorRow(line) {
|
|
13
|
+
return /^\s*\|[\s\-:|]+\|\s*$/.test(line);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Parse a table row into cells.
|
|
17
|
+
*/
|
|
18
|
+
function parseTableCells(line) {
|
|
19
|
+
return line.split("|").slice(1, -1).map(c => c.trim());
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Strip markdown formatting for width calculation.
|
|
23
|
+
*/
|
|
24
|
+
function stripMarkdown(text) {
|
|
25
|
+
return text.replace(/\*\*(.+?)\*\*/g, "$1").replace(/`([^`]+)`/g, "$1");
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Render collected table lines into formatted <Text> elements.
|
|
29
|
+
*/
|
|
30
|
+
function renderTable(tableLines, startKey) {
|
|
31
|
+
// Filter out separator rows, keep data rows
|
|
32
|
+
const dataRows = tableLines.filter(l => !isSeparatorRow(l));
|
|
33
|
+
if (dataRows.length === 0)
|
|
34
|
+
return [];
|
|
35
|
+
const parsed = dataRows.map(parseTableCells);
|
|
36
|
+
const colCount = Math.max(...parsed.map(r => r.length));
|
|
37
|
+
// Calculate column widths
|
|
38
|
+
const colWidths = [];
|
|
39
|
+
for (let c = 0; c < colCount; c++) {
|
|
40
|
+
colWidths[c] = Math.max(...parsed.map(r => stripMarkdown(r[c] ?? "").length), 0);
|
|
41
|
+
}
|
|
42
|
+
const elements = [];
|
|
43
|
+
const separator = " " + colWidths.map(w => "─".repeat(w + 2)).join("┬") + "";
|
|
44
|
+
parsed.forEach((cells, rowIdx) => {
|
|
45
|
+
// Header separator after first row
|
|
46
|
+
if (rowIdx === 1) {
|
|
47
|
+
elements.push(_jsx(Text, { dimColor: true, children: separator }, `tsep-${startKey}`));
|
|
48
|
+
}
|
|
49
|
+
const rowStr = " " + cells.map((cell, c) => {
|
|
50
|
+
const plain = stripMarkdown(cell);
|
|
51
|
+
const pad = (colWidths[c] ?? 0) - plain.length;
|
|
52
|
+
return " " + cell + " ".repeat(Math.max(pad + 1, 1));
|
|
53
|
+
}).join("│");
|
|
54
|
+
if (rowIdx === 0) {
|
|
55
|
+
// Header row — bold
|
|
56
|
+
elements.push(_jsx(Text, { bold: true, color: "#00A1E0", children: rowStr }, `tr-${startKey}-${rowIdx}`));
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
elements.push(_jsx(Text, { children: rowStr }, `tr-${startKey}-${rowIdx}`));
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
return elements;
|
|
63
|
+
}
|
|
3
64
|
/**
|
|
4
65
|
* Render a markdown string as styled Ink <Text> elements.
|
|
5
|
-
* Handles: **bold**, `code`, ## headings, - list items, ```code blocks
|
|
66
|
+
* Handles: **bold**, `code`, ## headings, - list items, ```code blocks```, | tables |
|
|
6
67
|
*/
|
|
7
68
|
export function MarkdownText({ children }) {
|
|
8
69
|
const lines = children.split("\n");
|
|
9
70
|
const elements = [];
|
|
10
71
|
let inCodeBlock = false;
|
|
11
72
|
let codeBlockLines = [];
|
|
73
|
+
let tableBuffer = [];
|
|
12
74
|
for (let i = 0; i < lines.length; i++) {
|
|
13
75
|
const line = lines[i];
|
|
14
76
|
// Code block toggle
|
|
15
77
|
if (line.trimStart().startsWith("```")) {
|
|
78
|
+
// Flush table buffer if any
|
|
79
|
+
if (tableBuffer.length > 0) {
|
|
80
|
+
elements.push(...renderTable(tableBuffer, i - tableBuffer.length));
|
|
81
|
+
tableBuffer = [];
|
|
82
|
+
}
|
|
16
83
|
if (inCodeBlock) {
|
|
17
|
-
// End code block
|
|
18
84
|
elements.push(_jsx(Text, { color: "#A0A0A0", children: codeBlockLines.join("\n") }, `cb-${i}`));
|
|
19
85
|
codeBlockLines = [];
|
|
20
86
|
inCodeBlock = false;
|
|
@@ -28,6 +94,16 @@ export function MarkdownText({ children }) {
|
|
|
28
94
|
codeBlockLines.push(line);
|
|
29
95
|
continue;
|
|
30
96
|
}
|
|
97
|
+
// Table row — collect into buffer
|
|
98
|
+
if (isTableRow(line)) {
|
|
99
|
+
tableBuffer.push(line);
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
// Flush table buffer if we hit a non-table line
|
|
103
|
+
if (tableBuffer.length > 0) {
|
|
104
|
+
elements.push(...renderTable(tableBuffer, i - tableBuffer.length));
|
|
105
|
+
tableBuffer = [];
|
|
106
|
+
}
|
|
31
107
|
// Heading ##
|
|
32
108
|
if (line.match(/^#{1,3}\s/)) {
|
|
33
109
|
const text = line.replace(/^#{1,3}\s+/, "");
|
|
@@ -43,7 +119,6 @@ export function MarkdownText({ children }) {
|
|
|
43
119
|
}
|
|
44
120
|
// Empty line — skip consecutive blanks, render single blank as newline only
|
|
45
121
|
if (!line.trim()) {
|
|
46
|
-
// Only add a blank if the previous element wasn't already a blank
|
|
47
122
|
const lastEl = elements[elements.length - 1];
|
|
48
123
|
const isLastBlank = lastEl?.key?.toString().startsWith("blank-");
|
|
49
124
|
if (!isLastBlank && elements.length > 0) {
|
|
@@ -54,6 +129,10 @@ export function MarkdownText({ children }) {
|
|
|
54
129
|
// Regular text with inline formatting
|
|
55
130
|
elements.push(_jsx(Text, { children: renderInline(line, i) }, i));
|
|
56
131
|
}
|
|
132
|
+
// Flush remaining table buffer
|
|
133
|
+
if (tableBuffer.length > 0) {
|
|
134
|
+
elements.push(...renderTable(tableBuffer, lines.length));
|
|
135
|
+
}
|
|
57
136
|
// Close unclosed code block
|
|
58
137
|
if (inCodeBlock && codeBlockLines.length > 0) {
|
|
59
138
|
elements.push(_jsx(Text, { color: "#A0A0A0", children: codeBlockLines.join("\n") }, "cb-end"));
|
package/dist/ui/markdown.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/ui/markdown.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE3B;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,EAAE,QAAQ,EAAwB;IAC7D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAE1C,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,cAAc,GAAa,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/ui/markdown.tsx"],"names":[],"mappings":"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"}
|