@flyingrobots/bijou 0.2.0 → 0.3.0
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/README.md +4 -3
- package/dist/core/components/dag.d.ts +28 -0
- package/dist/core/components/dag.d.ts.map +1 -0
- package/dist/core/components/dag.js +613 -0
- package/dist/core/components/dag.js.map +1 -0
- package/dist/core/components/index.d.ts +2 -0
- package/dist/core/components/index.d.ts.map +1 -1
- package/dist/core/components/index.js +1 -0
- package/dist/core/components/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,11 +4,12 @@ Themed terminal components for CLIs, loggers, and scripts — graceful degradati
|
|
|
4
4
|
|
|
5
5
|
**Zero dependencies. Hexagonal architecture. Works everywhere.**
|
|
6
6
|
|
|
7
|
-
## What's New in 0.
|
|
7
|
+
## What's New in 0.3.0?
|
|
8
8
|
|
|
9
|
-
- **`
|
|
9
|
+
- **`dag()`** — ASCII DAG renderer with auto-layout (Sugiyama-Lite), edge routing, badges, per-node tokens, path highlighting, and graceful degradation
|
|
10
|
+
- **`dagSlice()`** — extract subgraphs (ancestors/descendants/neighborhood) with ghost boundary nodes
|
|
10
11
|
|
|
11
|
-
See the [CHANGELOG](https://github.com/flyingrobots/bijou/blob/main/CHANGELOG.md) for the full release history.
|
|
12
|
+
See the [CHANGELOG](https://github.com/flyingrobots/bijou/blob/main/docs/CHANGELOG.md) for the full release history.
|
|
12
13
|
|
|
13
14
|
## Install
|
|
14
15
|
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { BijouContext } from '../../ports/context.js';
|
|
2
|
+
import type { TokenValue } from '../theme/tokens.js';
|
|
3
|
+
export interface DagNode {
|
|
4
|
+
id: string;
|
|
5
|
+
label: string;
|
|
6
|
+
edges?: string[];
|
|
7
|
+
badge?: string;
|
|
8
|
+
token?: TokenValue;
|
|
9
|
+
/** @internal Used by dagSlice to mark ghost boundary nodes */
|
|
10
|
+
_ghost?: boolean;
|
|
11
|
+
_ghostLabel?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface DagOptions {
|
|
14
|
+
nodeToken?: TokenValue;
|
|
15
|
+
edgeToken?: TokenValue;
|
|
16
|
+
highlightPath?: string[];
|
|
17
|
+
highlightToken?: TokenValue;
|
|
18
|
+
nodeWidth?: number;
|
|
19
|
+
maxWidth?: number;
|
|
20
|
+
direction?: 'down' | 'right';
|
|
21
|
+
ctx?: BijouContext;
|
|
22
|
+
}
|
|
23
|
+
export declare function dagSlice(nodes: DagNode[], focus: string, opts?: {
|
|
24
|
+
direction?: 'ancestors' | 'descendants' | 'both';
|
|
25
|
+
depth?: number;
|
|
26
|
+
}): DagNode[];
|
|
27
|
+
export declare function dag(nodes: DagNode[], options?: DagOptions): string;
|
|
28
|
+
//# sourceMappingURL=dag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dag.d.ts","sourceRoot":"","sources":["../../../src/core/components/dag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAKrD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,GAAG,CAAC,EAAE,YAAY,CAAC;CACpB;AA4hBD,wBAAgB,QAAQ,CACtB,KAAK,EAAE,OAAO,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;IACL,SAAS,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,MAAM,CAAC;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,EAAE,CAuHX;AAID,wBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,GAAE,UAAe,GAAG,MAAM,CAgBtE"}
|
|
@@ -0,0 +1,613 @@
|
|
|
1
|
+
import { getDefaultContext } from '../../context.js';
|
|
2
|
+
// ── Helpers ────────────────────────────────────────────────────────
|
|
3
|
+
function resolveCtx(ctx) {
|
|
4
|
+
if (ctx)
|
|
5
|
+
return ctx;
|
|
6
|
+
return getDefaultContext();
|
|
7
|
+
}
|
|
8
|
+
function visibleLength(str) {
|
|
9
|
+
// eslint-disable-next-line no-control-regex
|
|
10
|
+
return str.replace(/\x1b\[[0-9;]*m/g, '').length;
|
|
11
|
+
}
|
|
12
|
+
function truncateLabel(text, maxLen) {
|
|
13
|
+
if (maxLen <= 0)
|
|
14
|
+
return '';
|
|
15
|
+
if (visibleLength(text) <= maxLen)
|
|
16
|
+
return text;
|
|
17
|
+
return text.slice(0, maxLen - 1) + '\u2026';
|
|
18
|
+
}
|
|
19
|
+
// ── Layout: Layer Assignment ───────────────────────────────────────
|
|
20
|
+
function assignLayers(nodes) {
|
|
21
|
+
const children = new Map();
|
|
22
|
+
const parents = new Map();
|
|
23
|
+
const inDegree = new Map();
|
|
24
|
+
const nodeIds = new Set(nodes.map(n => n.id));
|
|
25
|
+
for (const n of nodes) {
|
|
26
|
+
// Filter edges to only include targets that exist in the graph
|
|
27
|
+
children.set(n.id, (n.edges ?? []).filter(e => nodeIds.has(e)));
|
|
28
|
+
inDegree.set(n.id, 0);
|
|
29
|
+
if (!parents.has(n.id))
|
|
30
|
+
parents.set(n.id, []);
|
|
31
|
+
}
|
|
32
|
+
for (const n of nodes) {
|
|
33
|
+
for (const childId of children.get(n.id) ?? []) {
|
|
34
|
+
if (!parents.has(childId))
|
|
35
|
+
parents.set(childId, []);
|
|
36
|
+
parents.get(childId).push(n.id);
|
|
37
|
+
inDegree.set(childId, (inDegree.get(childId) ?? 0) + 1);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// Kahn's topological sort
|
|
41
|
+
const queue = [];
|
|
42
|
+
for (const [id, deg] of inDegree) {
|
|
43
|
+
if (deg === 0)
|
|
44
|
+
queue.push(id);
|
|
45
|
+
}
|
|
46
|
+
const topoOrder = [];
|
|
47
|
+
const visited = new Set();
|
|
48
|
+
while (queue.length > 0) {
|
|
49
|
+
const id = queue.shift();
|
|
50
|
+
if (visited.has(id))
|
|
51
|
+
continue;
|
|
52
|
+
visited.add(id);
|
|
53
|
+
topoOrder.push(id);
|
|
54
|
+
for (const childId of children.get(id) ?? []) {
|
|
55
|
+
const newDeg = (inDegree.get(childId) ?? 1) - 1;
|
|
56
|
+
inDegree.set(childId, newDeg);
|
|
57
|
+
if (newDeg === 0)
|
|
58
|
+
queue.push(childId);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (topoOrder.length !== nodes.length) {
|
|
62
|
+
throw new Error('[bijou] dag(): cycle detected in graph');
|
|
63
|
+
}
|
|
64
|
+
// Longest-path layer assignment
|
|
65
|
+
const layerMap = new Map();
|
|
66
|
+
for (const id of topoOrder) {
|
|
67
|
+
const pars = parents.get(id) ?? [];
|
|
68
|
+
if (pars.length === 0) {
|
|
69
|
+
layerMap.set(id, 0);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
let maxParent = 0;
|
|
73
|
+
for (const p of pars) {
|
|
74
|
+
maxParent = Math.max(maxParent, layerMap.get(p) ?? 0);
|
|
75
|
+
}
|
|
76
|
+
layerMap.set(id, maxParent + 1);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return layerMap;
|
|
80
|
+
}
|
|
81
|
+
// ── Layout: Column Ordering ────────────────────────────────────────
|
|
82
|
+
function buildLayerArrays(nodes, layerMap) {
|
|
83
|
+
let maxLayer = 0;
|
|
84
|
+
for (const v of layerMap.values()) {
|
|
85
|
+
if (v > maxLayer)
|
|
86
|
+
maxLayer = v;
|
|
87
|
+
}
|
|
88
|
+
const layers = Array.from({ length: maxLayer + 1 }, () => []);
|
|
89
|
+
for (const n of nodes) {
|
|
90
|
+
const l = layerMap.get(n.id);
|
|
91
|
+
if (l !== undefined)
|
|
92
|
+
layers[l].push(n.id);
|
|
93
|
+
}
|
|
94
|
+
return layers;
|
|
95
|
+
}
|
|
96
|
+
function orderColumns(layers, nodes) {
|
|
97
|
+
const childrenMap = new Map();
|
|
98
|
+
const parentsMap = new Map();
|
|
99
|
+
for (const n of nodes) {
|
|
100
|
+
childrenMap.set(n.id, n.edges ?? []);
|
|
101
|
+
if (!parentsMap.has(n.id))
|
|
102
|
+
parentsMap.set(n.id, []);
|
|
103
|
+
}
|
|
104
|
+
for (const n of nodes) {
|
|
105
|
+
for (const c of n.edges ?? []) {
|
|
106
|
+
if (!parentsMap.has(c))
|
|
107
|
+
parentsMap.set(c, []);
|
|
108
|
+
parentsMap.get(c).push(n.id);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
// Top-down pass
|
|
112
|
+
for (let l = 1; l < layers.length; l++) {
|
|
113
|
+
const prevLayer = layers[l - 1];
|
|
114
|
+
const curLayer = layers[l];
|
|
115
|
+
const prevIndex = new Map();
|
|
116
|
+
for (let i = 0; i < prevLayer.length; i++) {
|
|
117
|
+
prevIndex.set(prevLayer[i], i);
|
|
118
|
+
}
|
|
119
|
+
const bary = new Map();
|
|
120
|
+
for (const id of curLayer) {
|
|
121
|
+
const pars = (parentsMap.get(id) ?? []).filter(p => prevIndex.has(p));
|
|
122
|
+
if (pars.length === 0) {
|
|
123
|
+
bary.set(id, Infinity);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
const avg = pars.reduce((s, p) => s + (prevIndex.get(p) ?? 0), 0) / pars.length;
|
|
127
|
+
bary.set(id, avg);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
curLayer.sort((a, b) => (bary.get(a) ?? Infinity) - (bary.get(b) ?? Infinity));
|
|
131
|
+
}
|
|
132
|
+
// Bottom-up pass
|
|
133
|
+
for (let l = layers.length - 2; l >= 0; l--) {
|
|
134
|
+
const nextLayer = layers[l + 1];
|
|
135
|
+
const curLayer = layers[l];
|
|
136
|
+
const nextIndex = new Map();
|
|
137
|
+
for (let i = 0; i < nextLayer.length; i++) {
|
|
138
|
+
nextIndex.set(nextLayer[i], i);
|
|
139
|
+
}
|
|
140
|
+
const bary = new Map();
|
|
141
|
+
for (const id of curLayer) {
|
|
142
|
+
const chlds = (childrenMap.get(id) ?? []).filter(c => nextIndex.has(c));
|
|
143
|
+
if (chlds.length === 0) {
|
|
144
|
+
bary.set(id, Infinity);
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
const avg = chlds.reduce((s, c) => s + (nextIndex.get(c) ?? 0), 0) / chlds.length;
|
|
148
|
+
bary.set(id, avg);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
curLayer.sort((a, b) => (bary.get(a) ?? Infinity) - (bary.get(b) ?? Infinity));
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
const JUNCTION = {
|
|
155
|
+
'D': '\u2502', 'U': '\u2502', 'DU': '\u2502',
|
|
156
|
+
'L': '\u2500', 'R': '\u2500', 'LR': '\u2500',
|
|
157
|
+
'DR': '\u250c', 'DL': '\u2510', 'RU': '\u2514', 'LU': '\u2518',
|
|
158
|
+
'DRU': '\u251c', 'DLU': '\u2524', 'DLR': '\u252c', 'LRU': '\u2534',
|
|
159
|
+
'DLRU': '\u253c',
|
|
160
|
+
};
|
|
161
|
+
function junctionChar(dirs) {
|
|
162
|
+
const key = [...dirs].sort().join('');
|
|
163
|
+
return JUNCTION[key] ?? '\u253c';
|
|
164
|
+
}
|
|
165
|
+
function createGrid(rows, cols) {
|
|
166
|
+
const dirs = [];
|
|
167
|
+
for (let r = 0; r < rows; r++) {
|
|
168
|
+
const row = [];
|
|
169
|
+
for (let c = 0; c < cols; c++) {
|
|
170
|
+
row.push(new Set());
|
|
171
|
+
}
|
|
172
|
+
dirs.push(row);
|
|
173
|
+
}
|
|
174
|
+
return { dirs, arrows: new Set(), rows, cols };
|
|
175
|
+
}
|
|
176
|
+
function markDir(g, r, c, ...ds) {
|
|
177
|
+
if (r >= 0 && r < g.rows && c >= 0 && c < g.cols) {
|
|
178
|
+
const cell = g.dirs[r][c];
|
|
179
|
+
for (const d of ds)
|
|
180
|
+
cell.add(d);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
function markEdge(g, fromCol, fromLayer, toCol, toLayer, RS, colCenter) {
|
|
184
|
+
const srcC = colCenter(fromCol);
|
|
185
|
+
const dstC = colCenter(toCol);
|
|
186
|
+
const sRow = fromLayer * RS + 3;
|
|
187
|
+
const dRow = toLayer * RS - 1; // one row above dest box
|
|
188
|
+
const mid = sRow + 1;
|
|
189
|
+
if (srcC === dstC) {
|
|
190
|
+
for (let r = sRow; r < dRow; r++)
|
|
191
|
+
markDir(g, r, srcC, 'D', 'U');
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
markDir(g, sRow, srcC, 'D', 'U');
|
|
195
|
+
markDir(g, mid, srcC, srcC < dstC ? 'R' : 'L', 'U');
|
|
196
|
+
const minC = Math.min(srcC, dstC);
|
|
197
|
+
const maxC = Math.max(srcC, dstC);
|
|
198
|
+
for (let c = minC + 1; c < maxC; c++)
|
|
199
|
+
markDir(g, mid, c, 'L', 'R');
|
|
200
|
+
markDir(g, mid, dstC, srcC < dstC ? 'L' : 'R', 'D');
|
|
201
|
+
for (let r = mid + 1; r < dRow; r++)
|
|
202
|
+
markDir(g, r, dstC, 'D', 'U');
|
|
203
|
+
}
|
|
204
|
+
g.arrows.add(dRow * 10000 + dstC);
|
|
205
|
+
}
|
|
206
|
+
// ── Node Box Rendering ─────────────────────────────────────────────
|
|
207
|
+
function renderNodeBox(label, badgeText, width, ghost) {
|
|
208
|
+
const h = ghost ? '\u254c' : '\u2500';
|
|
209
|
+
const v = ghost ? '\u254e' : '\u2502';
|
|
210
|
+
const innerW = width - 2;
|
|
211
|
+
const contentW = innerW - 2;
|
|
212
|
+
let content;
|
|
213
|
+
if (badgeText) {
|
|
214
|
+
const maxLabelW = contentW - visibleLength(badgeText) - 1;
|
|
215
|
+
const tLabel = truncateLabel(label, maxLabelW);
|
|
216
|
+
const gap = Math.max(1, contentW - visibleLength(tLabel) - visibleLength(badgeText));
|
|
217
|
+
content = tLabel + ' '.repeat(gap) + badgeText;
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
content = truncateLabel(label, contentW);
|
|
221
|
+
}
|
|
222
|
+
const padRight = Math.max(0, contentW - visibleLength(content));
|
|
223
|
+
const top = '\u256d' + h.repeat(innerW) + '\u256e';
|
|
224
|
+
const mid = v + ' ' + content + ' '.repeat(padRight) + ' ' + v;
|
|
225
|
+
const bot = '\u2570' + h.repeat(innerW) + '\u256f';
|
|
226
|
+
return [top, mid, bot];
|
|
227
|
+
}
|
|
228
|
+
// ── Interactive Renderer ───────────────────────────────────────────
|
|
229
|
+
function renderInteractive(nodes, options, ctx) {
|
|
230
|
+
if (nodes.length === 0)
|
|
231
|
+
return '';
|
|
232
|
+
const nodeMap = new Map();
|
|
233
|
+
for (const n of nodes)
|
|
234
|
+
nodeMap.set(n.id, n);
|
|
235
|
+
const layerMap = assignLayers(nodes);
|
|
236
|
+
const layers = buildLayerArrays(nodes, layerMap);
|
|
237
|
+
orderColumns(layers, nodes);
|
|
238
|
+
const colIndex = new Map();
|
|
239
|
+
for (const layer of layers) {
|
|
240
|
+
for (let i = 0; i < layer.length; i++) {
|
|
241
|
+
colIndex.set(layer[i], i);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
let maxNodesPerLayer = 1;
|
|
245
|
+
for (const layer of layers) {
|
|
246
|
+
if (layer.length > maxNodesPerLayer)
|
|
247
|
+
maxNodesPerLayer = layer.length;
|
|
248
|
+
}
|
|
249
|
+
const maxWidth = options.maxWidth ?? ctx.runtime.columns;
|
|
250
|
+
let nodeWidth = options.nodeWidth ?? Math.max(...nodes.map(n => visibleLength(n.label) + (n.badge ? visibleLength(n.badge) + 2 : 0) + 4), 16);
|
|
251
|
+
let gap = 4;
|
|
252
|
+
let colStride = nodeWidth + gap;
|
|
253
|
+
let totalWidth = maxNodesPerLayer * colStride;
|
|
254
|
+
if (totalWidth > maxWidth && !options.nodeWidth) {
|
|
255
|
+
gap = 2;
|
|
256
|
+
colStride = nodeWidth + gap;
|
|
257
|
+
totalWidth = maxNodesPerLayer * colStride;
|
|
258
|
+
}
|
|
259
|
+
if (totalWidth > maxWidth && !options.nodeWidth) {
|
|
260
|
+
nodeWidth = Math.max(16, Math.floor((maxWidth - gap) / maxNodesPerLayer) - gap);
|
|
261
|
+
colStride = nodeWidth + gap;
|
|
262
|
+
totalWidth = maxNodesPerLayer * colStride;
|
|
263
|
+
}
|
|
264
|
+
const RS = 6;
|
|
265
|
+
const gridRows = layers.length * RS;
|
|
266
|
+
const gridCols = totalWidth;
|
|
267
|
+
const colCenter = (c) => c * colStride + Math.floor(nodeWidth / 2);
|
|
268
|
+
const g = createGrid(gridRows, gridCols);
|
|
269
|
+
// Mark edges
|
|
270
|
+
for (const n of nodes) {
|
|
271
|
+
const fLayer = layerMap.get(n.id);
|
|
272
|
+
const fCol = colIndex.get(n.id);
|
|
273
|
+
if (fLayer === undefined || fCol === undefined)
|
|
274
|
+
continue;
|
|
275
|
+
for (const childId of n.edges ?? []) {
|
|
276
|
+
const tLayer = layerMap.get(childId);
|
|
277
|
+
const tCol = colIndex.get(childId);
|
|
278
|
+
if (tLayer === undefined || tCol === undefined)
|
|
279
|
+
continue;
|
|
280
|
+
markEdge(g, fCol, fLayer, tCol, tLayer, RS, colCenter);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
// Build output grids
|
|
284
|
+
const charGrid = [];
|
|
285
|
+
const tokenGrid = [];
|
|
286
|
+
for (let r = 0; r < gridRows; r++) {
|
|
287
|
+
const charRow = [];
|
|
288
|
+
const tokenRow = [];
|
|
289
|
+
for (let c = 0; c < gridCols; c++) {
|
|
290
|
+
charRow.push(' ');
|
|
291
|
+
tokenRow.push(null);
|
|
292
|
+
}
|
|
293
|
+
charGrid.push(charRow);
|
|
294
|
+
tokenGrid.push(tokenRow);
|
|
295
|
+
}
|
|
296
|
+
// Write edge characters
|
|
297
|
+
const edgeToken = options.edgeToken ?? ctx.theme.theme.border.muted;
|
|
298
|
+
for (let r = 0; r < gridRows; r++) {
|
|
299
|
+
for (let c = 0; c < gridCols; c++) {
|
|
300
|
+
const cell = g.dirs[r][c];
|
|
301
|
+
if (cell.size > 0) {
|
|
302
|
+
charGrid[r][c] = junctionChar(cell);
|
|
303
|
+
tokenGrid[r][c] = edgeToken;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
// Write arrowheads
|
|
308
|
+
for (const encoded of g.arrows) {
|
|
309
|
+
const r = Math.floor(encoded / 10000);
|
|
310
|
+
const c = encoded % 10000;
|
|
311
|
+
if (r >= 0 && r < gridRows && c >= 0 && c < gridCols) {
|
|
312
|
+
charGrid[r][c] = '\u25bc';
|
|
313
|
+
tokenGrid[r][c] = edgeToken;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
// Highlight edges
|
|
317
|
+
const highlightSet = new Set(options.highlightPath ?? []);
|
|
318
|
+
if (options.highlightPath && options.highlightToken) {
|
|
319
|
+
const hlToken = options.highlightToken;
|
|
320
|
+
const path = options.highlightPath;
|
|
321
|
+
for (let i = 0; i < path.length - 1; i++) {
|
|
322
|
+
const fromId = path[i];
|
|
323
|
+
const toId = path[i + 1];
|
|
324
|
+
const fLayer = layerMap.get(fromId);
|
|
325
|
+
const tLayer = layerMap.get(toId);
|
|
326
|
+
const fCol = colIndex.get(fromId);
|
|
327
|
+
const tCol = colIndex.get(toId);
|
|
328
|
+
if (fLayer === undefined || tLayer === undefined || fCol === undefined || tCol === undefined)
|
|
329
|
+
continue;
|
|
330
|
+
const srcC = colCenter(fCol);
|
|
331
|
+
const dstC = colCenter(tCol);
|
|
332
|
+
const sRow = fLayer * RS + 3;
|
|
333
|
+
const dRow = tLayer * RS - 1;
|
|
334
|
+
const midRow = sRow + 1;
|
|
335
|
+
if (srcC === dstC) {
|
|
336
|
+
for (let r = sRow; r <= dRow && r < gridRows; r++) {
|
|
337
|
+
if (srcC < gridCols)
|
|
338
|
+
tokenGrid[r][srcC] = hlToken;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
else {
|
|
342
|
+
if (sRow < gridRows && srcC < gridCols)
|
|
343
|
+
tokenGrid[sRow][srcC] = hlToken;
|
|
344
|
+
const minC = Math.min(srcC, dstC);
|
|
345
|
+
const maxC2 = Math.max(srcC, dstC);
|
|
346
|
+
if (midRow < gridRows) {
|
|
347
|
+
for (let c = minC; c <= maxC2 && c < gridCols; c++) {
|
|
348
|
+
tokenGrid[midRow][c] = hlToken;
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
for (let r = midRow; r <= dRow && r < gridRows; r++) {
|
|
352
|
+
if (dstC < gridCols)
|
|
353
|
+
tokenGrid[r][dstC] = hlToken;
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
// Write node boxes
|
|
359
|
+
for (const n of nodes) {
|
|
360
|
+
const layer = layerMap.get(n.id);
|
|
361
|
+
const col = colIndex.get(n.id);
|
|
362
|
+
if (layer === undefined || col === undefined)
|
|
363
|
+
continue;
|
|
364
|
+
const startCol = col * colStride;
|
|
365
|
+
const startRow = layer * RS;
|
|
366
|
+
const boxLines = renderNodeBox(n.label, n.badge, nodeWidth, n._ghost === true);
|
|
367
|
+
let nToken;
|
|
368
|
+
if (highlightSet.has(n.id) && options.highlightToken) {
|
|
369
|
+
nToken = options.highlightToken;
|
|
370
|
+
}
|
|
371
|
+
else if (n.token) {
|
|
372
|
+
nToken = n.token;
|
|
373
|
+
}
|
|
374
|
+
else {
|
|
375
|
+
nToken = options.nodeToken ?? ctx.theme.theme.border.primary;
|
|
376
|
+
}
|
|
377
|
+
for (let lineIdx = 0; lineIdx < boxLines.length; lineIdx++) {
|
|
378
|
+
const row = startRow + lineIdx;
|
|
379
|
+
if (row >= gridRows)
|
|
380
|
+
continue;
|
|
381
|
+
const line = boxLines[lineIdx];
|
|
382
|
+
const chars = [...line];
|
|
383
|
+
for (let ci = 0; ci < chars.length; ci++) {
|
|
384
|
+
const gc = startCol + ci;
|
|
385
|
+
if (gc < gridCols) {
|
|
386
|
+
charGrid[row][gc] = chars[ci];
|
|
387
|
+
tokenGrid[row][gc] = nToken;
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
// Serialize
|
|
393
|
+
const lines = [];
|
|
394
|
+
for (let r = 0; r < gridRows; r++) {
|
|
395
|
+
let line = '';
|
|
396
|
+
let prevToken = null;
|
|
397
|
+
let run = '';
|
|
398
|
+
for (let c = 0; c < gridCols; c++) {
|
|
399
|
+
const ch = charGrid[r][c];
|
|
400
|
+
const tk = tokenGrid[r][c];
|
|
401
|
+
if (tk === prevToken || (tk === null && prevToken === null)) {
|
|
402
|
+
run += ch;
|
|
403
|
+
}
|
|
404
|
+
else {
|
|
405
|
+
if (run) {
|
|
406
|
+
line += prevToken ? ctx.style.styled(prevToken, run) : run;
|
|
407
|
+
}
|
|
408
|
+
run = ch;
|
|
409
|
+
prevToken = tk;
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
if (run) {
|
|
413
|
+
line += prevToken ? ctx.style.styled(prevToken, run) : run;
|
|
414
|
+
}
|
|
415
|
+
lines.push(line.replace(/\s+$/, ''));
|
|
416
|
+
}
|
|
417
|
+
while (lines.length > 0 && lines[lines.length - 1].trim() === '') {
|
|
418
|
+
lines.pop();
|
|
419
|
+
}
|
|
420
|
+
return lines.join('\n');
|
|
421
|
+
}
|
|
422
|
+
// ── Pipe Renderer ──────────────────────────────────────────────────
|
|
423
|
+
function renderPipe(nodes) {
|
|
424
|
+
if (nodes.length === 0)
|
|
425
|
+
return '';
|
|
426
|
+
const lines = [];
|
|
427
|
+
for (const n of nodes) {
|
|
428
|
+
const edges = n.edges ?? [];
|
|
429
|
+
const badgePart = n.badge ? ` (${n.badge})` : '';
|
|
430
|
+
if (edges.length > 0) {
|
|
431
|
+
const targets = edges
|
|
432
|
+
.map(id => {
|
|
433
|
+
const target = nodes.find(t => t.id === id);
|
|
434
|
+
return target ? target.label : id;
|
|
435
|
+
})
|
|
436
|
+
.join(', ');
|
|
437
|
+
lines.push(`${n.label}${badgePart} -> ${targets}`);
|
|
438
|
+
}
|
|
439
|
+
else {
|
|
440
|
+
lines.push(`${n.label}${badgePart}`);
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
return lines.join('\n');
|
|
444
|
+
}
|
|
445
|
+
// ── Accessible Renderer ────────────────────────────────────────────
|
|
446
|
+
function renderAccessible(nodes, layerMap) {
|
|
447
|
+
if (nodes.length === 0)
|
|
448
|
+
return 'Graph: 0 nodes, 0 edges';
|
|
449
|
+
const totalEdges = nodes.reduce((s, n) => s + (n.edges?.length ?? 0), 0);
|
|
450
|
+
const lines = [`Graph: ${nodes.length} nodes, ${totalEdges} edges`, ''];
|
|
451
|
+
const layers = buildLayerArrays(nodes, layerMap);
|
|
452
|
+
const nodeMap = new Map();
|
|
453
|
+
for (const n of nodes)
|
|
454
|
+
nodeMap.set(n.id, n);
|
|
455
|
+
for (let l = 0; l < layers.length; l++) {
|
|
456
|
+
lines.push(`Layer ${l + 1}:`);
|
|
457
|
+
for (const id of layers[l]) {
|
|
458
|
+
const n = nodeMap.get(id);
|
|
459
|
+
if (!n)
|
|
460
|
+
continue;
|
|
461
|
+
const badgePart = n.badge ? ` (${n.badge})` : '';
|
|
462
|
+
const edges = (n.edges ?? []).filter(e => nodeMap.has(e));
|
|
463
|
+
if (edges.length > 0) {
|
|
464
|
+
const targets = edges.map(e => nodeMap.get(e)?.label ?? e).join(', ');
|
|
465
|
+
lines.push(` ${n.label}${badgePart} -> ${targets}`);
|
|
466
|
+
}
|
|
467
|
+
else {
|
|
468
|
+
lines.push(` ${n.label}${badgePart} (end)`);
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
lines.push('');
|
|
472
|
+
}
|
|
473
|
+
while (lines.length > 0 && lines[lines.length - 1] === '')
|
|
474
|
+
lines.pop();
|
|
475
|
+
return lines.join('\n');
|
|
476
|
+
}
|
|
477
|
+
// ── dagSlice ───────────────────────────────────────────────────────
|
|
478
|
+
export function dagSlice(nodes, focus, opts) {
|
|
479
|
+
const direction = opts?.direction ?? 'both';
|
|
480
|
+
const maxDepth = opts?.depth ?? Infinity;
|
|
481
|
+
const nodeMap = new Map();
|
|
482
|
+
for (const n of nodes)
|
|
483
|
+
nodeMap.set(n.id, n);
|
|
484
|
+
if (!nodeMap.has(focus))
|
|
485
|
+
return [];
|
|
486
|
+
const included = new Set();
|
|
487
|
+
const ghostIds = new Set();
|
|
488
|
+
// Build parent map
|
|
489
|
+
const parentsMap = new Map();
|
|
490
|
+
for (const n of nodes) {
|
|
491
|
+
if (!parentsMap.has(n.id))
|
|
492
|
+
parentsMap.set(n.id, []);
|
|
493
|
+
for (const c of n.edges ?? []) {
|
|
494
|
+
if (!parentsMap.has(c))
|
|
495
|
+
parentsMap.set(c, []);
|
|
496
|
+
parentsMap.get(c).push(n.id);
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
// BFS ancestors
|
|
500
|
+
if (direction === 'ancestors' || direction === 'both') {
|
|
501
|
+
const queue = [[focus, 0]];
|
|
502
|
+
const visited = new Set();
|
|
503
|
+
while (queue.length > 0) {
|
|
504
|
+
const entry = queue.shift();
|
|
505
|
+
const id = entry[0];
|
|
506
|
+
const depth = entry[1];
|
|
507
|
+
if (visited.has(id))
|
|
508
|
+
continue;
|
|
509
|
+
visited.add(id);
|
|
510
|
+
included.add(id);
|
|
511
|
+
if (depth < maxDepth) {
|
|
512
|
+
for (const p of parentsMap.get(id) ?? []) {
|
|
513
|
+
if (!visited.has(p))
|
|
514
|
+
queue.push([p, depth + 1]);
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
else {
|
|
518
|
+
const boundaryParents = (parentsMap.get(id) ?? []).filter(p => !visited.has(p));
|
|
519
|
+
if (boundaryParents.length > 0) {
|
|
520
|
+
const ghostId = `__ghost_ancestors_${id}`;
|
|
521
|
+
ghostIds.add(ghostId);
|
|
522
|
+
included.add(ghostId);
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
// BFS descendants
|
|
528
|
+
if (direction === 'descendants' || direction === 'both') {
|
|
529
|
+
const queue = [[focus, 0]];
|
|
530
|
+
const visited = new Set();
|
|
531
|
+
while (queue.length > 0) {
|
|
532
|
+
const entry = queue.shift();
|
|
533
|
+
const id = entry[0];
|
|
534
|
+
const depth = entry[1];
|
|
535
|
+
if (visited.has(id))
|
|
536
|
+
continue;
|
|
537
|
+
visited.add(id);
|
|
538
|
+
included.add(id);
|
|
539
|
+
const ch = nodeMap.get(id)?.edges ?? [];
|
|
540
|
+
if (depth < maxDepth) {
|
|
541
|
+
for (const c of ch) {
|
|
542
|
+
if (!visited.has(c) && nodeMap.has(c))
|
|
543
|
+
queue.push([c, depth + 1]);
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
else {
|
|
547
|
+
const boundaryChildren = ch.filter(c => !visited.has(c) && nodeMap.has(c));
|
|
548
|
+
if (boundaryChildren.length > 0) {
|
|
549
|
+
const ghostId = `__ghost_descendants_${id}`;
|
|
550
|
+
ghostIds.add(ghostId);
|
|
551
|
+
included.add(ghostId);
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
// Build result
|
|
557
|
+
const result = [];
|
|
558
|
+
for (const gid of ghostIds) {
|
|
559
|
+
if (gid.startsWith('__ghost_ancestors_')) {
|
|
560
|
+
const boundaryId = gid.replace('__ghost_ancestors_', '');
|
|
561
|
+
const allParents = (parentsMap.get(boundaryId) ?? []).filter(p => !included.has(p));
|
|
562
|
+
const count = allParents.length;
|
|
563
|
+
result.push({
|
|
564
|
+
id: gid,
|
|
565
|
+
label: `... ${count} ancestor${count !== 1 ? 's' : ''}`,
|
|
566
|
+
edges: [boundaryId],
|
|
567
|
+
_ghost: true,
|
|
568
|
+
_ghostLabel: `... ${count} ancestor${count !== 1 ? 's' : ''}`,
|
|
569
|
+
});
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
for (const n of nodes) {
|
|
573
|
+
if (!included.has(n.id))
|
|
574
|
+
continue;
|
|
575
|
+
const filteredEdges = (n.edges ?? []).filter(e => included.has(e));
|
|
576
|
+
const descGhostId = `__ghost_descendants_${n.id}`;
|
|
577
|
+
if (ghostIds.has(descGhostId)) {
|
|
578
|
+
filteredEdges.push(descGhostId);
|
|
579
|
+
}
|
|
580
|
+
result.push({ ...n, edges: filteredEdges.length > 0 ? filteredEdges : undefined });
|
|
581
|
+
}
|
|
582
|
+
for (const gid of ghostIds) {
|
|
583
|
+
if (gid.startsWith('__ghost_descendants_')) {
|
|
584
|
+
const boundaryId = gid.replace('__ghost_descendants_', '');
|
|
585
|
+
const boundaryNode = nodeMap.get(boundaryId);
|
|
586
|
+
const allChildren = (boundaryNode?.edges ?? []).filter(c => !included.has(c) && nodeMap.has(c));
|
|
587
|
+
const count = allChildren.length;
|
|
588
|
+
result.push({
|
|
589
|
+
id: gid,
|
|
590
|
+
label: `... ${count} descendant${count !== 1 ? 's' : ''}`,
|
|
591
|
+
_ghost: true,
|
|
592
|
+
_ghostLabel: `... ${count} descendant${count !== 1 ? 's' : ''}`,
|
|
593
|
+
});
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
return result;
|
|
597
|
+
}
|
|
598
|
+
// ── Main Entry Point ───────────────────────────────────────────────
|
|
599
|
+
export function dag(nodes, options = {}) {
|
|
600
|
+
const ctx = resolveCtx(options.ctx);
|
|
601
|
+
const mode = ctx.mode;
|
|
602
|
+
if (nodes.length === 0)
|
|
603
|
+
return '';
|
|
604
|
+
if (mode === 'pipe') {
|
|
605
|
+
return renderPipe(nodes);
|
|
606
|
+
}
|
|
607
|
+
if (mode === 'accessible') {
|
|
608
|
+
const layerMap = assignLayers(nodes);
|
|
609
|
+
return renderAccessible(nodes, layerMap);
|
|
610
|
+
}
|
|
611
|
+
return renderInteractive(nodes, options, ctx);
|
|
612
|
+
}
|
|
613
|
+
//# sourceMappingURL=dag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dag.js","sourceRoot":"","sources":["../../../src/core/components/dag.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,4 +32,6 @@ export { paginator } from './paginator.js';
|
|
|
32
32
|
export type { PaginatorOptions } from './paginator.js';
|
|
33
33
|
export { stepper } from './stepper.js';
|
|
34
34
|
export type { StepperStep, StepperOptions } from './stepper.js';
|
|
35
|
+
export { dag, dagSlice } from './dag.js';
|
|
36
|
+
export type { DagNode, DagOptions } from './dag.js';
|
|
35
37
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3D,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1F,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEnI,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3D,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEpF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE7D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEzE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEpE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3D,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1F,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEnI,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3D,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEpF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE7D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEzE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEpE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAG1F,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG3D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAG/B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAG1F,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG3D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAG/B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,6 @@ export { getDefaultContext, setDefaultContext, _resetDefaultContextForTesting, }
|
|
|
3
3
|
export { createBijou, type CreateBijouOptions } from './factory.js';
|
|
4
4
|
export { type RGB, type GradientStop, type TextModifier, type TokenValue, type InkColor, type BaseStatusKey, type BaseUiKey, type BaseGradientKey, type Theme, CYAN_MAGENTA, TEAL_ORANGE_PINK, PRESETS, tv, styled, styledStatus, extendTheme, lerp3, gradientText, type GradientTextOptions, isNoColor, getTheme, resolveTheme, _resetThemeForTesting, createThemeResolver, createResolved, type ResolvedTheme, type ThemeResolver, type ThemeResolverOptions, fromDTCG, toDTCG, type DTCGDocument, type DTCGToken, type DTCGGroup, } from './core/theme/index.js';
|
|
5
5
|
export { detectOutputMode, type OutputMode } from './core/detect/index.js';
|
|
6
|
-
export { spinnerFrame, createSpinner, type SpinnerOptions, type SpinnerController, progressBar, createProgressBar, createAnimatedProgressBar, type ProgressBarOptions, type LiveProgressBarOptions, type AnimatedProgressBarOptions, type ProgressBarController, table, type TableColumn, type TableOptions, box, headerBox, type BoxOptions, type HeaderBoxOptions, selectLogoSize, loadRandomLogo, type LogoSize, type LogoResult, type LogoConstraints, type LogoOptions, separator, type SeparatorOptions, badge, type BadgeVariant, type BadgeOptions, alert, type AlertVariant, type AlertOptions, skeleton, type SkeletonOptions, kbd, type KbdOptions, tree, type TreeNode, type TreeOptions, accordion, type AccordionSection, type AccordionOptions, timeline, type TimelineEvent, type TimelineOptions, tabs, type TabItem, type TabsOptions, breadcrumb, type BreadcrumbOptions, paginator, type PaginatorOptions, stepper, type StepperStep, type StepperOptions, } from './core/components/index.js';
|
|
6
|
+
export { spinnerFrame, createSpinner, type SpinnerOptions, type SpinnerController, progressBar, createProgressBar, createAnimatedProgressBar, type ProgressBarOptions, type LiveProgressBarOptions, type AnimatedProgressBarOptions, type ProgressBarController, table, type TableColumn, type TableOptions, box, headerBox, type BoxOptions, type HeaderBoxOptions, selectLogoSize, loadRandomLogo, type LogoSize, type LogoResult, type LogoConstraints, type LogoOptions, separator, type SeparatorOptions, badge, type BadgeVariant, type BadgeOptions, alert, type AlertVariant, type AlertOptions, skeleton, type SkeletonOptions, kbd, type KbdOptions, tree, type TreeNode, type TreeOptions, accordion, type AccordionSection, type AccordionOptions, timeline, type TimelineEvent, type TimelineOptions, tabs, type TabItem, type TabsOptions, breadcrumb, type BreadcrumbOptions, paginator, type PaginatorOptions, stepper, type StepperStep, type StepperOptions, dag, dagSlice, type DagNode, type DagOptions, } from './core/components/index.js';
|
|
7
7
|
export { type ValidationResult, type Validator, type FieldOptions, type SelectOption, type SelectFieldOptions, type ConfirmFieldOptions, type GroupFieldResult, type InputOptions, input, select, multiselect, confirm, group, } from './core/forms/index.js';
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,WAAW,EACX,MAAM,EACN,cAAc,EACd,WAAW,EACX,SAAS,EACT,YAAY,GACb,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,8BAA8B,GAC/B,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGpE,OAAO,EAEL,KAAK,GAAG,EACR,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,KAAK,EAEV,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACP,EAAE,EAEF,MAAM,EACN,YAAY,EAEZ,WAAW,EAEX,KAAK,EACL,YAAY,EAEZ,KAAK,mBAAmB,EAExB,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAEzB,QAAQ,EACR,MAAM,EACN,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,SAAS,GACf,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAG3E,OAAO,EACL,YAAY,EACZ,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EACzB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,GAAG,EACH,SAAS,EACT,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,cAAc,EACd,cAAc,EACd,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,SAAS,EACT,KAAK,gBAAgB,EACrB,KAAK,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,QAAQ,EACR,KAAK,eAAe,EACpB,GAAG,EACH,KAAK,UAAU,EACf,IAAI,EACJ,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,SAAS,EACT,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,QAAQ,EACR,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,IAAI,EACJ,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,UAAU,EACV,KAAK,iBAAiB,EACtB,SAAS,EACT,KAAK,gBAAgB,EACrB,OAAO,EACP,KAAK,WAAW,EAChB,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,WAAW,EACX,MAAM,EACN,cAAc,EACd,WAAW,EACX,SAAS,EACT,YAAY,GACb,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,8BAA8B,GAC/B,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGpE,OAAO,EAEL,KAAK,GAAG,EACR,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,KAAK,EAEV,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACP,EAAE,EAEF,MAAM,EACN,YAAY,EAEZ,WAAW,EAEX,KAAK,EACL,YAAY,EAEZ,KAAK,mBAAmB,EAExB,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAEzB,QAAQ,EACR,MAAM,EACN,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,SAAS,GACf,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAG3E,OAAO,EACL,YAAY,EACZ,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EACzB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,GAAG,EACH,SAAS,EACT,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,cAAc,EACd,cAAc,EACd,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,SAAS,EACT,KAAK,gBAAgB,EACrB,KAAK,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,QAAQ,EACR,KAAK,eAAe,EACpB,GAAG,EACH,KAAK,UAAU,EACf,IAAI,EACJ,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,SAAS,EACT,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,QAAQ,EACR,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,IAAI,EACJ,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,UAAU,EACV,KAAK,iBAAiB,EACtB,SAAS,EACT,KAAK,gBAAgB,EACrB,OAAO,EACP,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,GAAG,EACH,QAAQ,EACR,KAAK,OAAO,EACZ,KAAK,UAAU,GAChB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,EACL,MAAM,EACN,WAAW,EACX,OAAO,EACP,KAAK,GACN,MAAM,uBAAuB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -19,7 +19,7 @@ fromDTCG, toDTCG, } from './core/theme/index.js';
|
|
|
19
19
|
// Detection
|
|
20
20
|
export { detectOutputMode } from './core/detect/index.js';
|
|
21
21
|
// Components
|
|
22
|
-
export { spinnerFrame, createSpinner, progressBar, createProgressBar, createAnimatedProgressBar, table, box, headerBox, selectLogoSize, loadRandomLogo, separator, badge, alert, skeleton, kbd, tree, accordion, timeline, tabs, breadcrumb, paginator, stepper, } from './core/components/index.js';
|
|
22
|
+
export { spinnerFrame, createSpinner, progressBar, createProgressBar, createAnimatedProgressBar, table, box, headerBox, selectLogoSize, loadRandomLogo, separator, badge, alert, skeleton, kbd, tree, accordion, timeline, tabs, breadcrumb, paginator, stepper, dag, dagSlice, } from './core/components/index.js';
|
|
23
23
|
// Forms
|
|
24
24
|
export { input, select, multiselect, confirm, group, } from './core/forms/index.js';
|
|
25
25
|
//# 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":"AAUA,UAAU;AACV,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,8BAA8B,GAC/B,MAAM,cAAc,CAAC;AAEtB,UAAU;AACV,OAAO,EAAE,WAAW,EAA2B,MAAM,cAAc,CAAC;AAEpE,eAAe;AACf,OAAO;AAWL,UAAU;AACV,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACP,EAAE;AACF,8BAA8B;AAC9B,MAAM,EACN,YAAY;AACZ,kBAAkB;AAClB,WAAW;AACX,WAAW;AACX,KAAK,EACL,YAAY;AAGZ,WAAW;AACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,cAAc;AAId,eAAe;AACf,QAAQ,EACR,MAAM,GAIP,MAAM,uBAAuB,CAAC;AAE/B,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAmB,MAAM,wBAAwB,CAAC;AAE3E,aAAa;AACb,OAAO,EACL,YAAY,EACZ,aAAa,EAGb,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EAKzB,KAAK,EAGL,GAAG,EACH,SAAS,EAGT,cAAc,EACd,cAAc,EAKd,SAAS,EAET,KAAK,EAGL,KAAK,EAGL,QAAQ,EAER,GAAG,EAEH,IAAI,EAGJ,SAAS,EAGT,QAAQ,EAGR,IAAI,EAGJ,UAAU,EAEV,SAAS,EAET,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,UAAU;AACV,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,8BAA8B,GAC/B,MAAM,cAAc,CAAC;AAEtB,UAAU;AACV,OAAO,EAAE,WAAW,EAA2B,MAAM,cAAc,CAAC;AAEpE,eAAe;AACf,OAAO;AAWL,UAAU;AACV,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACP,EAAE;AACF,8BAA8B;AAC9B,MAAM,EACN,YAAY;AACZ,kBAAkB;AAClB,WAAW;AACX,WAAW;AACX,KAAK,EACL,YAAY;AAGZ,WAAW;AACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,cAAc;AAId,eAAe;AACf,QAAQ,EACR,MAAM,GAIP,MAAM,uBAAuB,CAAC;AAE/B,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAmB,MAAM,wBAAwB,CAAC;AAE3E,aAAa;AACb,OAAO,EACL,YAAY,EACZ,aAAa,EAGb,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EAKzB,KAAK,EAGL,GAAG,EACH,SAAS,EAGT,cAAc,EACd,cAAc,EAKd,SAAS,EAET,KAAK,EAGL,KAAK,EAGL,QAAQ,EAER,GAAG,EAEH,IAAI,EAGJ,SAAS,EAGT,QAAQ,EAGR,IAAI,EAGJ,UAAU,EAEV,SAAS,EAET,OAAO,EAGP,GAAG,EACH,QAAQ,GAGT,MAAM,4BAA4B,CAAC;AAEpC,QAAQ;AACR,OAAO,EASL,KAAK,EACL,MAAM,EACN,WAAW,EACX,OAAO,EACP,KAAK,GACN,MAAM,uBAAuB,CAAC"}
|