@flyingrobots/bijou 4.4.0 → 5.0.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 +52 -189
- package/dist/adapters/test/index.d.ts.map +1 -1
- package/dist/adapters/test/index.js +1 -3
- package/dist/adapters/test/index.js.map +1 -1
- package/dist/adapters/test/runtime.d.ts.map +1 -1
- package/dist/adapters/test/runtime.js +4 -3
- package/dist/adapters/test/runtime.js.map +1 -1
- package/dist/context-theme.d.ts +40 -0
- package/dist/context-theme.d.ts.map +1 -0
- package/dist/context-theme.js +42 -0
- package/dist/context-theme.js.map +1 -0
- package/dist/context.d.ts +13 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +24 -3
- package/dist/context.js.map +1 -1
- package/dist/core/components/alert-v3.d.ts.map +1 -1
- package/dist/core/components/alert-v3.js +5 -4
- package/dist/core/components/alert-v3.js.map +1 -1
- package/dist/core/components/alert.d.ts.map +1 -1
- package/dist/core/components/alert.js +7 -8
- package/dist/core/components/alert.js.map +1 -1
- package/dist/core/components/badge.d.ts.map +1 -1
- package/dist/core/components/badge.js +19 -18
- package/dist/core/components/badge.js.map +1 -1
- package/dist/core/components/box-v3.d.ts.map +1 -1
- package/dist/core/components/box-v3.js +29 -29
- package/dist/core/components/box-v3.js.map +1 -1
- package/dist/core/components/dag-edges.d.ts +21 -4
- package/dist/core/components/dag-edges.d.ts.map +1 -1
- package/dist/core/components/dag-edges.js +79 -16
- package/dist/core/components/dag-edges.js.map +1 -1
- package/dist/core/components/dag-layout.d.ts +3 -4
- package/dist/core/components/dag-layout.d.ts.map +1 -1
- package/dist/core/components/dag-layout.js +42 -9
- package/dist/core/components/dag-layout.js.map +1 -1
- package/dist/core/components/dag-render.d.ts +3 -2
- package/dist/core/components/dag-render.d.ts.map +1 -1
- package/dist/core/components/dag-render.js +20 -37
- package/dist/core/components/dag-render.js.map +1 -1
- package/dist/core/components/dag.d.ts +7 -4
- package/dist/core/components/dag.d.ts.map +1 -1
- package/dist/core/components/dag.js.map +1 -1
- package/dist/core/components/explainability.d.ts.map +1 -1
- package/dist/core/components/explainability.js +30 -87
- package/dist/core/components/explainability.js.map +1 -1
- package/dist/core/components/guided-flow.d.ts +32 -0
- package/dist/core/components/guided-flow.d.ts.map +1 -0
- package/dist/core/components/guided-flow.js +131 -0
- package/dist/core/components/guided-flow.js.map +1 -0
- package/dist/core/components/hyperlink.d.ts.map +1 -1
- package/dist/core/components/hyperlink.js +7 -4
- package/dist/core/components/hyperlink.js.map +1 -1
- package/dist/core/components/index.d.ts +4 -2
- 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/core/components/markdown-parse.d.ts +4 -0
- package/dist/core/components/markdown-parse.d.ts.map +1 -1
- package/dist/core/components/markdown-parse.js +66 -2
- package/dist/core/components/markdown-parse.js.map +1 -1
- package/dist/core/components/markdown-render.d.ts.map +1 -1
- package/dist/core/components/markdown-render.js +220 -14
- package/dist/core/components/markdown-render.js.map +1 -1
- package/dist/core/components/markdown.d.ts +4 -3
- package/dist/core/components/markdown.d.ts.map +1 -1
- package/dist/core/components/markdown.js +6 -5
- package/dist/core/components/markdown.js.map +1 -1
- package/dist/core/components/paginator.d.ts.map +1 -1
- package/dist/core/components/paginator.js +5 -3
- package/dist/core/components/paginator.js.map +1 -1
- package/dist/core/components/perf-overlay.d.ts.map +1 -1
- package/dist/core/components/perf-overlay.js +3 -2
- package/dist/core/components/perf-overlay.js.map +1 -1
- package/dist/core/components/preference-list.d.ts.map +1 -1
- package/dist/core/components/preference-list.js +75 -37
- package/dist/core/components/preference-list.js.map +1 -1
- package/dist/core/components/progress.d.ts.map +1 -1
- package/dist/core/components/progress.js +4 -3
- package/dist/core/components/progress.js.map +1 -1
- package/dist/core/components/separator-v3.d.ts.map +1 -1
- package/dist/core/components/separator-v3.js +11 -11
- package/dist/core/components/separator-v3.js.map +1 -1
- package/dist/core/components/separator.d.ts.map +1 -1
- package/dist/core/components/separator.js +4 -1
- package/dist/core/components/separator.js.map +1 -1
- package/dist/core/components/skeleton.d.ts.map +1 -1
- package/dist/core/components/skeleton.js +3 -2
- package/dist/core/components/skeleton.js.map +1 -1
- package/dist/core/components/surface-text.d.ts +7 -0
- package/dist/core/components/surface-text.d.ts.map +1 -1
- package/dist/core/components/surface-text.js +33 -25
- package/dist/core/components/surface-text.js.map +1 -1
- package/dist/core/components/table-v3.d.ts +5 -2
- package/dist/core/components/table-v3.d.ts.map +1 -1
- package/dist/core/components/table-v3.js +26 -16
- package/dist/core/components/table-v3.js.map +1 -1
- package/dist/core/components/table.d.ts +16 -2
- package/dist/core/components/table.d.ts.map +1 -1
- package/dist/core/components/table.js +136 -18
- package/dist/core/components/table.js.map +1 -1
- package/dist/core/forms/filter-interactive.d.ts.map +1 -1
- package/dist/core/forms/filter-interactive.js +2 -4
- package/dist/core/forms/filter-interactive.js.map +1 -1
- package/dist/core/forms/multiselect.d.ts.map +1 -1
- package/dist/core/forms/multiselect.js +2 -4
- package/dist/core/forms/multiselect.js.map +1 -1
- package/dist/core/forms/note.d.ts.map +1 -1
- package/dist/core/forms/note.js +2 -1
- package/dist/core/forms/note.js.map +1 -1
- package/dist/core/forms/select.d.ts.map +1 -1
- package/dist/core/forms/select.js +2 -4
- package/dist/core/forms/select.js.map +1 -1
- package/dist/core/forms/textarea-editor.d.ts.map +1 -1
- package/dist/core/forms/textarea-editor.js +7 -5
- package/dist/core/forms/textarea-editor.js.map +1 -1
- package/dist/core/layout/geometry.d.ts +39 -0
- package/dist/core/layout/geometry.d.ts.map +1 -0
- package/dist/core/layout/geometry.js +201 -0
- package/dist/core/layout/geometry.js.map +1 -0
- package/dist/core/numeric.d.ts +16 -0
- package/dist/core/numeric.d.ts.map +1 -0
- package/dist/core/numeric.js +37 -0
- package/dist/core/numeric.js.map +1 -0
- package/dist/core/render/differ.d.ts.map +1 -1
- package/dist/core/render/differ.js +15 -13
- package/dist/core/render/differ.js.map +1 -1
- package/dist/core/runtime-viewport.d.ts.map +1 -1
- package/dist/core/runtime-viewport.js +2 -3
- package/dist/core/runtime-viewport.js.map +1 -1
- package/dist/core/text/grapheme.d.ts +51 -0
- package/dist/core/text/grapheme.d.ts.map +1 -1
- package/dist/core/text/grapheme.js +68 -0
- package/dist/core/text/grapheme.js.map +1 -1
- package/dist/core/text/icon-presentation.d.ts +10 -0
- package/dist/core/text/icon-presentation.d.ts.map +1 -0
- package/dist/core/text/icon-presentation.js +12 -0
- package/dist/core/text/icon-presentation.js.map +1 -0
- package/dist/core/text/index.d.ts +2 -1
- package/dist/core/text/index.d.ts.map +1 -1
- package/dist/core/text/index.js +2 -1
- package/dist/core/text/index.js.map +1 -1
- package/dist/core/theme/color.d.ts +32 -0
- package/dist/core/theme/color.d.ts.map +1 -1
- package/dist/core/theme/color.js +68 -0
- package/dist/core/theme/color.js.map +1 -1
- package/dist/core/theme/graph-types.d.ts +5 -0
- package/dist/core/theme/graph-types.d.ts.map +1 -1
- package/dist/core/theme/graph.d.ts.map +1 -1
- package/dist/core/theme/graph.js +52 -5
- package/dist/core/theme/graph.js.map +1 -1
- package/dist/core/theme/index.d.ts +2 -1
- package/dist/core/theme/index.d.ts.map +1 -1
- package/dist/core/theme/index.js +1 -1
- package/dist/core/theme/index.js.map +1 -1
- package/dist/core/theme/presets.d.ts +3 -2
- package/dist/core/theme/presets.d.ts.map +1 -1
- package/dist/core/theme/presets.js +18 -29
- package/dist/core/theme/presets.js.map +1 -1
- package/dist/factory.d.ts +3 -0
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +4 -6
- package/dist/factory.js.map +1 -1
- package/dist/index.d.ts +8 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -5
- package/dist/index.js.map +1 -1
- package/dist/ports/context.d.ts +6 -1
- package/dist/ports/context.d.ts.map +1 -1
- package/dist/ports/surface.d.ts +6 -4
- package/dist/ports/surface.d.ts.map +1 -1
- package/dist/ports/surface.js +40 -23
- package/dist/ports/surface.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,8 +4,11 @@
|
|
|
4
4
|
* Handles mode-specific rendering (interactive, pipe, accessible) for each
|
|
5
5
|
* block type and trims trailing blanks.
|
|
6
6
|
*/
|
|
7
|
+
import { RESET_SGR } from '../ansi.js';
|
|
8
|
+
import { ANSI_OSC8_RE, ANSI_SGR_RE, graphemeClusterWidth, graphemeWidth, segmentGraphemes, stripAnsi, } from '../text/grapheme.js';
|
|
7
9
|
import { parseInline, wordWrap } from './markdown-parse.js';
|
|
8
10
|
import { separator } from './separator.js';
|
|
11
|
+
import { measureInteractiveTableWidth, table } from './table.js';
|
|
9
12
|
import { renderByMode } from '../mode-render.js';
|
|
10
13
|
/**
|
|
11
14
|
* Render an array of parsed block elements into a final terminal string.
|
|
@@ -43,14 +46,8 @@ export function renderBlocks(blocks, ctx, width) {
|
|
|
43
46
|
break;
|
|
44
47
|
}
|
|
45
48
|
case 'paragraph': {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
// consume wrap width. This can cause premature line breaks when
|
|
49
|
-
// markdown-heavy text is near the wrap boundary. Fixing this
|
|
50
|
-
// requires strip-for-measurement then wrap-raw then parse-after,
|
|
51
|
-
// which is complex due to cross-word-boundary formatting spans.
|
|
52
|
-
const wrapped = wordWrap(block.text, width);
|
|
53
|
-
lines.push(...wrapped.map(line => parseInline(line, ctx)));
|
|
49
|
+
const wrapped = wrapInlineMarkdown(block.text, width, ctx);
|
|
50
|
+
lines.push(...wrapped);
|
|
54
51
|
lines.push('');
|
|
55
52
|
break;
|
|
56
53
|
}
|
|
@@ -58,10 +55,10 @@ export function renderBlocks(blocks, ctx, width) {
|
|
|
58
55
|
for (const item of block.items) {
|
|
59
56
|
const bullet = mode === 'pipe' ? '- ' : ' \u2022 ';
|
|
60
57
|
const indentWidth = width - bullet.length;
|
|
61
|
-
const wrapped =
|
|
62
|
-
lines.push(bullet +
|
|
58
|
+
const wrapped = wrapInlineMarkdown(item, indentWidth > 0 ? indentWidth : width, ctx);
|
|
59
|
+
lines.push(bullet + wrapped[0]);
|
|
63
60
|
for (let i = 1; i < wrapped.length; i++) {
|
|
64
|
-
lines.push(' '.repeat(bullet.length) +
|
|
61
|
+
lines.push(' '.repeat(bullet.length) + wrapped[i]);
|
|
65
62
|
}
|
|
66
63
|
}
|
|
67
64
|
lines.push('');
|
|
@@ -76,15 +73,30 @@ export function renderBlocks(blocks, ctx, width) {
|
|
|
76
73
|
const prefix = mode === 'pipe' ? `${n + 1}. ` : ` ${n + 1}. `;
|
|
77
74
|
const paddedPrefix = prefix.padEnd(uniformIndent);
|
|
78
75
|
const indentWidth = width - uniformIndent;
|
|
79
|
-
const wrapped =
|
|
80
|
-
lines.push(paddedPrefix +
|
|
76
|
+
const wrapped = wrapInlineMarkdown(block.items[n], indentWidth > 0 ? indentWidth : width, ctx);
|
|
77
|
+
lines.push(paddedPrefix + wrapped[0]);
|
|
81
78
|
for (let i = 1; i < wrapped.length; i++) {
|
|
82
|
-
lines.push(' '.repeat(uniformIndent) +
|
|
79
|
+
lines.push(' '.repeat(uniformIndent) + wrapped[i]);
|
|
83
80
|
}
|
|
84
81
|
}
|
|
85
82
|
lines.push('');
|
|
86
83
|
break;
|
|
87
84
|
}
|
|
85
|
+
case 'table': {
|
|
86
|
+
const headers = block.headers.map((header) => parseInline(header, ctx));
|
|
87
|
+
const rows = block.rows.map((row) => row.map((cell) => parseInline(cell, ctx)));
|
|
88
|
+
const fittedWidths = fitMarkdownTableWidths(headers, rows, width);
|
|
89
|
+
lines.push(table({
|
|
90
|
+
columns: headers.map((header, index) => ({
|
|
91
|
+
header,
|
|
92
|
+
width: fittedWidths[index],
|
|
93
|
+
})),
|
|
94
|
+
rows,
|
|
95
|
+
ctx,
|
|
96
|
+
}));
|
|
97
|
+
lines.push('');
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
88
100
|
case 'code-block': {
|
|
89
101
|
const cbLines = renderByMode(ctx.mode, {
|
|
90
102
|
pipe: () => ['```' + block.lang, ...block.lines, '```'],
|
|
@@ -123,4 +135,198 @@ export function renderBlocks(blocks, ctx, width) {
|
|
|
123
135
|
}
|
|
124
136
|
return lines.join('\n');
|
|
125
137
|
}
|
|
138
|
+
function fitMarkdownTableWidths(headers, rows, width) {
|
|
139
|
+
const columnCount = headers.length;
|
|
140
|
+
if (columnCount === 0)
|
|
141
|
+
return [];
|
|
142
|
+
const desired = headers.map((header, index) => {
|
|
143
|
+
let max = visibleTextWidth(header);
|
|
144
|
+
for (const row of rows) {
|
|
145
|
+
max = Math.max(max, visibleTextWidth(row[index] ?? ''));
|
|
146
|
+
}
|
|
147
|
+
return Math.max(1, max);
|
|
148
|
+
});
|
|
149
|
+
const contentWidth = desired.reduce((sum, columnWidth) => sum + columnWidth, 0);
|
|
150
|
+
const targetContentWidth = Math.max(columnCount, width - (measureInteractiveTableWidth(desired) - contentWidth));
|
|
151
|
+
if (contentWidth <= targetContentWidth) {
|
|
152
|
+
return desired;
|
|
153
|
+
}
|
|
154
|
+
const shrinkable = desired.map((columnWidth) => columnWidth - 1);
|
|
155
|
+
const totalShrinkable = shrinkable.reduce((sum, columnWidth) => sum + columnWidth, 0);
|
|
156
|
+
const targetExtraWidth = targetContentWidth - columnCount;
|
|
157
|
+
if (totalShrinkable <= targetExtraWidth) {
|
|
158
|
+
return Array.from({ length: columnCount }, () => 1);
|
|
159
|
+
}
|
|
160
|
+
const scale = targetExtraWidth / totalShrinkable;
|
|
161
|
+
const fitted = desired.map((_columnWidth, index) => {
|
|
162
|
+
const exactExtra = shrinkable[index] * scale;
|
|
163
|
+
return {
|
|
164
|
+
width: 1 + Math.floor(exactExtra),
|
|
165
|
+
remainder: exactExtra - Math.floor(exactExtra),
|
|
166
|
+
};
|
|
167
|
+
});
|
|
168
|
+
let usedContentWidth = fitted.reduce((sum, column) => sum + column.width, 0);
|
|
169
|
+
let remainderBudget = targetContentWidth - usedContentWidth;
|
|
170
|
+
if (remainderBudget > 0) {
|
|
171
|
+
const byRemainder = fitted
|
|
172
|
+
.map((column, index) => ({ index, remainder: column.remainder }))
|
|
173
|
+
.sort((left, right) => {
|
|
174
|
+
if (right.remainder !== left.remainder)
|
|
175
|
+
return right.remainder - left.remainder;
|
|
176
|
+
return desired[right.index] - desired[left.index];
|
|
177
|
+
});
|
|
178
|
+
for (const column of byRemainder) {
|
|
179
|
+
if (remainderBudget <= 0)
|
|
180
|
+
break;
|
|
181
|
+
fitted[column.index].width++;
|
|
182
|
+
remainderBudget--;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return fitted.map((column) => column.width);
|
|
186
|
+
}
|
|
187
|
+
function visibleTextWidth(value) {
|
|
188
|
+
return graphemeWidth(stripAnsi(value));
|
|
189
|
+
}
|
|
190
|
+
function wrapInlineMarkdown(text, width, ctx) {
|
|
191
|
+
const rendered = parseInline(text, ctx);
|
|
192
|
+
if (ctx.mode === 'interactive' || ctx.mode === 'static') {
|
|
193
|
+
return wrapStyledInlineText(rendered, width);
|
|
194
|
+
}
|
|
195
|
+
return wordWrap(rendered, width);
|
|
196
|
+
}
|
|
197
|
+
const ESC = String.fromCharCode(27);
|
|
198
|
+
const OSC8_CLOSE = `${ESC}]8;;${ESC}\\`;
|
|
199
|
+
const RESET_SGR_SHORT = `${ESC}[m`;
|
|
200
|
+
const INLINE_CONTROL_RE = new RegExp(`${ANSI_SGR_RE.source}|${ANSI_OSC8_RE.source}`, 'g');
|
|
201
|
+
function wrapStyledInlineText(text, width) {
|
|
202
|
+
const plain = stripAnsi(text);
|
|
203
|
+
const ranges = wrapVisibleRanges(plain, width);
|
|
204
|
+
return ranges.map((range) => sliceStyledVisibleRange(text, range.start, range.end));
|
|
205
|
+
}
|
|
206
|
+
function wrapVisibleRanges(text, width) {
|
|
207
|
+
if (text.length === 0)
|
|
208
|
+
return [{ start: 0, end: 0 }];
|
|
209
|
+
if (width <= 0)
|
|
210
|
+
return [{ start: 0, end: graphemeWidth(text) }];
|
|
211
|
+
const words = text.split(' ');
|
|
212
|
+
const ranges = [];
|
|
213
|
+
let cursor = 0;
|
|
214
|
+
let lineStart = 0;
|
|
215
|
+
let lineEnd = 0;
|
|
216
|
+
let lineWidth = 0;
|
|
217
|
+
for (let index = 0; index < words.length; index++) {
|
|
218
|
+
const word = words[index];
|
|
219
|
+
const wordStart = cursor;
|
|
220
|
+
const wordWidth = graphemeWidth(word);
|
|
221
|
+
const wordEnd = wordStart + wordWidth;
|
|
222
|
+
if (lineWidth === 0) {
|
|
223
|
+
lineStart = wordStart;
|
|
224
|
+
lineEnd = wordEnd;
|
|
225
|
+
lineWidth = wordWidth;
|
|
226
|
+
}
|
|
227
|
+
else if (lineWidth + 1 + wordWidth <= width) {
|
|
228
|
+
lineEnd = wordEnd;
|
|
229
|
+
lineWidth += 1 + wordWidth;
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
ranges.push({ start: lineStart, end: lineEnd });
|
|
233
|
+
lineStart = wordStart;
|
|
234
|
+
lineEnd = wordEnd;
|
|
235
|
+
lineWidth = wordWidth;
|
|
236
|
+
}
|
|
237
|
+
cursor = wordEnd;
|
|
238
|
+
if (index < words.length - 1) {
|
|
239
|
+
cursor += 1;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
if (lineWidth > 0) {
|
|
243
|
+
ranges.push({ start: lineStart, end: lineEnd });
|
|
244
|
+
}
|
|
245
|
+
return ranges.length > 0 ? ranges : [{ start: 0, end: 0 }];
|
|
246
|
+
}
|
|
247
|
+
function tokenizeStyledInlineText(text) {
|
|
248
|
+
const tokens = [];
|
|
249
|
+
let lastIndex = 0;
|
|
250
|
+
for (const match of text.matchAll(INLINE_CONTROL_RE)) {
|
|
251
|
+
const index = match.index ?? 0;
|
|
252
|
+
if (index > lastIndex) {
|
|
253
|
+
const raw = text.slice(lastIndex, index);
|
|
254
|
+
for (const grapheme of segmentGraphemes(raw)) {
|
|
255
|
+
tokens.push({
|
|
256
|
+
kind: 'grapheme',
|
|
257
|
+
raw: grapheme,
|
|
258
|
+
width: graphemeClusterWidth(grapheme),
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
tokens.push({ kind: 'control', raw: match[0] });
|
|
263
|
+
lastIndex = index + match[0].length;
|
|
264
|
+
}
|
|
265
|
+
if (lastIndex < text.length) {
|
|
266
|
+
const raw = text.slice(lastIndex);
|
|
267
|
+
for (const grapheme of segmentGraphemes(raw)) {
|
|
268
|
+
tokens.push({
|
|
269
|
+
kind: 'grapheme',
|
|
270
|
+
raw: grapheme,
|
|
271
|
+
width: graphemeClusterWidth(grapheme),
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
return tokens;
|
|
276
|
+
}
|
|
277
|
+
function sliceStyledVisibleRange(text, start, end) {
|
|
278
|
+
if (end <= start)
|
|
279
|
+
return '';
|
|
280
|
+
const state = { sgr: [] };
|
|
281
|
+
const tokens = tokenizeStyledInlineText(text);
|
|
282
|
+
let visible = 0;
|
|
283
|
+
let collecting = false;
|
|
284
|
+
let result = '';
|
|
285
|
+
for (const token of tokens) {
|
|
286
|
+
if (token.kind === 'control') {
|
|
287
|
+
if (collecting) {
|
|
288
|
+
result += token.raw;
|
|
289
|
+
}
|
|
290
|
+
applyStyledInlineControl(state, token.raw);
|
|
291
|
+
continue;
|
|
292
|
+
}
|
|
293
|
+
if (visible >= end)
|
|
294
|
+
break;
|
|
295
|
+
const tokenStart = visible;
|
|
296
|
+
const tokenEnd = visible + (token.width ?? 0);
|
|
297
|
+
if (tokenEnd > start && tokenStart < end) {
|
|
298
|
+
if (!collecting) {
|
|
299
|
+
collecting = true;
|
|
300
|
+
result = buildStyledInlinePrefix(state);
|
|
301
|
+
}
|
|
302
|
+
result += token.raw;
|
|
303
|
+
}
|
|
304
|
+
visible = tokenEnd;
|
|
305
|
+
}
|
|
306
|
+
if (!collecting)
|
|
307
|
+
return '';
|
|
308
|
+
return result + buildStyledInlineSuffix(state);
|
|
309
|
+
}
|
|
310
|
+
function applyStyledInlineControl(state, raw) {
|
|
311
|
+
if (raw.startsWith(`${ESC}]8;;`)) {
|
|
312
|
+
state.osc8 = raw === OSC8_CLOSE ? undefined : raw;
|
|
313
|
+
return;
|
|
314
|
+
}
|
|
315
|
+
if (raw === RESET_SGR || raw === RESET_SGR_SHORT) {
|
|
316
|
+
state.sgr = [];
|
|
317
|
+
return;
|
|
318
|
+
}
|
|
319
|
+
state.sgr.push(raw);
|
|
320
|
+
}
|
|
321
|
+
function buildStyledInlinePrefix(state) {
|
|
322
|
+
return `${state.osc8 ?? ''}${state.sgr.join('')}`;
|
|
323
|
+
}
|
|
324
|
+
function buildStyledInlineSuffix(state) {
|
|
325
|
+
let suffix = '';
|
|
326
|
+
if (state.osc8 != null)
|
|
327
|
+
suffix += OSC8_CLOSE;
|
|
328
|
+
if (state.sgr.length > 0)
|
|
329
|
+
suffix += RESET_SGR;
|
|
330
|
+
return suffix;
|
|
331
|
+
}
|
|
126
332
|
//# sourceMappingURL=markdown-render.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-render.js","sourceRoot":"","sources":["../../../src/core/components/markdown-render.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"markdown-render.js","sourceRoot":"","sources":["../../../src/core/components/markdown-render.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* Reuses existing components: `separator()` for HRs, `hyperlink()` for links.
|
|
6
6
|
*
|
|
7
7
|
* Supported syntax: headings (# through ####), bold, italic, code spans,
|
|
8
|
-
* bullet lists, numbered lists,
|
|
9
|
-
* blockquotes.
|
|
8
|
+
* bullet lists, numbered lists, GFM-style pipe tables, code blocks,
|
|
9
|
+
* horizontal rules, links, and blockquotes.
|
|
10
10
|
*/
|
|
11
11
|
import type { BijouContext } from '../../ports/context.js';
|
|
12
12
|
/** Configuration options for the {@link markdown} renderer. */
|
|
@@ -20,7 +20,8 @@ export interface MarkdownOptions {
|
|
|
20
20
|
* Render a markdown string for terminal display.
|
|
21
21
|
*
|
|
22
22
|
* Supports headings, bold, italic, code spans, bullet/numbered lists,
|
|
23
|
-
* code blocks, horizontal rules, links, and
|
|
23
|
+
* GFM-style pipe tables, code blocks, horizontal rules, links, and
|
|
24
|
+
* blockquotes.
|
|
24
25
|
*
|
|
25
26
|
* Mode degradation:
|
|
26
27
|
* - `interactive`: full styled output with colors and Unicode
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/core/components/markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/core/components/markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAQ3D,+DAA+D;AAC/D,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,GAAG,CAAC,EAAE,YAAY,CAAC;CACpB;AAID;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAS1E"}
|
|
@@ -5,10 +5,11 @@
|
|
|
5
5
|
* Reuses existing components: `separator()` for HRs, `hyperlink()` for links.
|
|
6
6
|
*
|
|
7
7
|
* Supported syntax: headings (# through ####), bold, italic, code spans,
|
|
8
|
-
* bullet lists, numbered lists,
|
|
9
|
-
* blockquotes.
|
|
8
|
+
* bullet lists, numbered lists, GFM-style pipe tables, code blocks,
|
|
9
|
+
* horizontal rules, links, and blockquotes.
|
|
10
10
|
*/
|
|
11
11
|
import { resolveCtx } from '../resolve-ctx.js';
|
|
12
|
+
import { sanitizePositiveInt } from '../numeric.js';
|
|
12
13
|
import { parseBlocks } from './markdown-parse.js';
|
|
13
14
|
import { renderBlocks } from './markdown-render.js';
|
|
14
15
|
// ── Public API ─────────────────────────────────────────────────────
|
|
@@ -16,7 +17,8 @@ import { renderBlocks } from './markdown-render.js';
|
|
|
16
17
|
* Render a markdown string for terminal display.
|
|
17
18
|
*
|
|
18
19
|
* Supports headings, bold, italic, code spans, bullet/numbered lists,
|
|
19
|
-
* code blocks, horizontal rules, links, and
|
|
20
|
+
* GFM-style pipe tables, code blocks, horizontal rules, links, and
|
|
21
|
+
* blockquotes.
|
|
20
22
|
*
|
|
21
23
|
* Mode degradation:
|
|
22
24
|
* - `interactive`: full styled output with colors and Unicode
|
|
@@ -32,8 +34,7 @@ export function markdown(source, options) {
|
|
|
32
34
|
if (safeSource.trim() === '')
|
|
33
35
|
return '';
|
|
34
36
|
const ctx = resolveCtx(options?.ctx);
|
|
35
|
-
const
|
|
36
|
-
const width = Math.max(1, Number.isFinite(rawWidth) ? rawWidth : ctx.runtime.columns);
|
|
37
|
+
const width = sanitizePositiveInt(options?.width, ctx.runtime.columns);
|
|
37
38
|
const blocks = parseBlocks(safeSource);
|
|
38
39
|
return renderBlocks(blocks, ctx, width);
|
|
39
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../src/core/components/markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAYpD,sEAAsE;AAEtE
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../src/core/components/markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAYpD,sEAAsE;AAEtE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,OAAyB;IAChE,MAAM,UAAU,GAAG,MAAM,IAAI,EAAE,CAAC;IAChC,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAExC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvE,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACvC,OAAO,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paginator.d.ts","sourceRoot":"","sources":["../../../src/core/components/paginator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"paginator.d.ts","sourceRoot":"","sources":["../../../src/core/components/paginator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAK3D,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,oGAAoG;IACpG,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,6DAA6D;IAC7D,GAAG,CAAC,EAAE,YAAY,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CA2B3D"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { resolveCtx } from '../resolve-ctx.js';
|
|
2
2
|
import { renderByMode } from '../mode-render.js';
|
|
3
|
+
import { sanitizeNonNegativeInt, sanitizePositiveInt } from '../numeric.js';
|
|
3
4
|
/**
|
|
4
5
|
* Render a page indicator showing the current position within a set of pages.
|
|
5
6
|
*
|
|
@@ -13,8 +14,9 @@ import { renderByMode } from '../mode-render.js';
|
|
|
13
14
|
*/
|
|
14
15
|
export function paginator(options) {
|
|
15
16
|
const ctx = resolveCtx(options.ctx);
|
|
16
|
-
const
|
|
17
|
-
const
|
|
17
|
+
const total = sanitizePositiveInt(options.total, 1);
|
|
18
|
+
const current = Math.min(sanitizeNonNegativeInt(options.current, 0), total - 1);
|
|
19
|
+
const page = current + 1; // convert 0-indexed to 1-indexed for display
|
|
18
20
|
return renderByMode(ctx.mode, {
|
|
19
21
|
pipe: () => `[${page}/${total}]`,
|
|
20
22
|
accessible: () => `Page ${page} of ${total}`,
|
|
@@ -26,7 +28,7 @@ export function paginator(options) {
|
|
|
26
28
|
// dots style
|
|
27
29
|
const dots = [];
|
|
28
30
|
for (let i = 0; i < total; i++) {
|
|
29
|
-
if (i ===
|
|
31
|
+
if (i === current) {
|
|
30
32
|
dots.push(ctx.style.styled(ctx.semantic('primary'), '●'));
|
|
31
33
|
}
|
|
32
34
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paginator.js","sourceRoot":"","sources":["../../../src/core/components/paginator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"paginator.js","sourceRoot":"","sources":["../../../src/core/components/paginator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAc5E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,SAAS,CAAC,OAAyB;IACjD,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAChF,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,6CAA6C;IAEvE,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE;QAC5B,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG;QAChC,UAAU,EAAE,GAAG,EAAE,CAAC,QAAQ,IAAI,OAAO,KAAK,EAAE;QAC5C,WAAW,EAAE,GAAG,EAAE;YAChB,uBAAuB;YACvB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC;YAEtC,IAAI,KAAK,KAAK,MAAM;gBAAE,OAAO,QAAQ,IAAI,OAAO,KAAK,EAAE,CAAC;YAExD,aAAa;YACb,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;oBAClB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC5D,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;KACF,EAAE,OAAO,CAAC,CAAC;AACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"perf-overlay.d.ts","sourceRoot":"","sources":["../../../src/core/components/perf-overlay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"perf-overlay.d.ts","sourceRoot":"","sources":["../../../src/core/components/perf-overlay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAIrE,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC/B,iCAAiC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,sDAAsD;IACtD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,8BAA8B;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8BAA8B;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,+BAA+B;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;CAC9C;AAED,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D,yCAAyC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,mCAAmC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,0BAA0B;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IAClC,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;CAC/B;AAMD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,gBAAgB,EACvB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAyDT"}
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import { createSurface } from '../../ports/surface.js';
|
|
20
20
|
import { resolveSafeCtx as resolveCtx } from '../resolve-ctx.js';
|
|
21
|
+
import { sanitizePositiveInt } from '../numeric.js';
|
|
21
22
|
import { brailleChartSurface } from './braille-chart.js';
|
|
22
23
|
import { statsPanelSurface } from './stats-panel.js';
|
|
23
24
|
function fmt(n, decimals) {
|
|
@@ -32,10 +33,10 @@ function fmt(n, decimals) {
|
|
|
32
33
|
*/
|
|
33
34
|
export function perfOverlaySurface(stats, options = {}) {
|
|
34
35
|
const ctx = resolveCtx(options.ctx);
|
|
35
|
-
const panelWidth = options.width
|
|
36
|
+
const panelWidth = sanitizePositiveInt(options.width, 32);
|
|
36
37
|
const title = options.title ?? 'Perf';
|
|
37
38
|
const showChart = options.showChart ?? true;
|
|
38
|
-
const chartHeight = options.chartHeight
|
|
39
|
+
const chartHeight = sanitizePositiveInt(options.chartHeight, 4);
|
|
39
40
|
const entries = [
|
|
40
41
|
{ label: 'FPS', value: String(Math.round(stats.fps)) },
|
|
41
42
|
{ label: 'frame', value: fmt(stats.frameTimeMs, 2) + ' ms', sparkline: stats.frameTimeHistory },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"perf-overlay.js","sourceRoot":"","sources":["../../../src/core/components/perf-overlay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,aAAa,EAAgB,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,cAAc,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAwB,MAAM,kBAAkB,CAAC;AAsC3E,SAAS,GAAG,CAAC,CAAS,EAAE,QAAgB;IACtC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACzD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAuB,EACvB,UAA8B,EAAE;IAEhC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"perf-overlay.js","sourceRoot":"","sources":["../../../src/core/components/perf-overlay.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preference-list.d.ts","sourceRoot":"","sources":["../../../src/core/components/preference-list.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"preference-list.d.ts","sourceRoot":"","sources":["../../../src/core/components/preference-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,OAAO,EAAsB,MAAM,wBAAwB,CAAC;AAG1G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAExE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,aAAa,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CACpD;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACjD;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IACxC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,UAAU,CAAC;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC;IACpC,QAAQ,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC;CACxC;AAED,MAAM,WAAW,2BAA4B,SAAQ,gBAAgB;IACnE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,mBAAmB,CAAC;CACtC;AAED,MAAM,WAAW,4BAA6B,SAAQ,gBAAgB;IACpE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,mBAAmB,CAAC;CACtC;AAmBD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,aAAa,GAAG,qBAAqB,CAO9E;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,GACrC,SAAS,yBAAyB,EAAE,CAMtC;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,aAAa,GAAG,qBAAqB,EAC1C,OAAO,EAAE,2BAA2B,GACnC,OAAO,CA4ET;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,GAAG,SAAS,yBAAyB,EAAE,EAC7E,OAAO,EAAE,4BAA4B,GACpC,OAAO,CA6DT;AAED,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,aAAa,GAAG,qBAAqB,EAC1C,KAAK,EAAE,MAAM,GACZ,mBAAmB,CAmBrB"}
|