@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.
Files changed (173) hide show
  1. package/README.md +52 -189
  2. package/dist/adapters/test/index.d.ts.map +1 -1
  3. package/dist/adapters/test/index.js +1 -3
  4. package/dist/adapters/test/index.js.map +1 -1
  5. package/dist/adapters/test/runtime.d.ts.map +1 -1
  6. package/dist/adapters/test/runtime.js +4 -3
  7. package/dist/adapters/test/runtime.js.map +1 -1
  8. package/dist/context-theme.d.ts +40 -0
  9. package/dist/context-theme.d.ts.map +1 -0
  10. package/dist/context-theme.js +42 -0
  11. package/dist/context-theme.js.map +1 -0
  12. package/dist/context.d.ts +13 -1
  13. package/dist/context.d.ts.map +1 -1
  14. package/dist/context.js +24 -3
  15. package/dist/context.js.map +1 -1
  16. package/dist/core/components/alert-v3.d.ts.map +1 -1
  17. package/dist/core/components/alert-v3.js +5 -4
  18. package/dist/core/components/alert-v3.js.map +1 -1
  19. package/dist/core/components/alert.d.ts.map +1 -1
  20. package/dist/core/components/alert.js +7 -8
  21. package/dist/core/components/alert.js.map +1 -1
  22. package/dist/core/components/badge.d.ts.map +1 -1
  23. package/dist/core/components/badge.js +19 -18
  24. package/dist/core/components/badge.js.map +1 -1
  25. package/dist/core/components/box-v3.d.ts.map +1 -1
  26. package/dist/core/components/box-v3.js +29 -29
  27. package/dist/core/components/box-v3.js.map +1 -1
  28. package/dist/core/components/dag-edges.d.ts +21 -4
  29. package/dist/core/components/dag-edges.d.ts.map +1 -1
  30. package/dist/core/components/dag-edges.js +79 -16
  31. package/dist/core/components/dag-edges.js.map +1 -1
  32. package/dist/core/components/dag-layout.d.ts +3 -4
  33. package/dist/core/components/dag-layout.d.ts.map +1 -1
  34. package/dist/core/components/dag-layout.js +42 -9
  35. package/dist/core/components/dag-layout.js.map +1 -1
  36. package/dist/core/components/dag-render.d.ts +3 -2
  37. package/dist/core/components/dag-render.d.ts.map +1 -1
  38. package/dist/core/components/dag-render.js +20 -37
  39. package/dist/core/components/dag-render.js.map +1 -1
  40. package/dist/core/components/dag.d.ts +7 -4
  41. package/dist/core/components/dag.d.ts.map +1 -1
  42. package/dist/core/components/dag.js.map +1 -1
  43. package/dist/core/components/explainability.d.ts.map +1 -1
  44. package/dist/core/components/explainability.js +30 -87
  45. package/dist/core/components/explainability.js.map +1 -1
  46. package/dist/core/components/guided-flow.d.ts +32 -0
  47. package/dist/core/components/guided-flow.d.ts.map +1 -0
  48. package/dist/core/components/guided-flow.js +131 -0
  49. package/dist/core/components/guided-flow.js.map +1 -0
  50. package/dist/core/components/hyperlink.d.ts.map +1 -1
  51. package/dist/core/components/hyperlink.js +7 -4
  52. package/dist/core/components/hyperlink.js.map +1 -1
  53. package/dist/core/components/index.d.ts +4 -2
  54. package/dist/core/components/index.d.ts.map +1 -1
  55. package/dist/core/components/index.js +1 -0
  56. package/dist/core/components/index.js.map +1 -1
  57. package/dist/core/components/markdown-parse.d.ts +4 -0
  58. package/dist/core/components/markdown-parse.d.ts.map +1 -1
  59. package/dist/core/components/markdown-parse.js +66 -2
  60. package/dist/core/components/markdown-parse.js.map +1 -1
  61. package/dist/core/components/markdown-render.d.ts.map +1 -1
  62. package/dist/core/components/markdown-render.js +220 -14
  63. package/dist/core/components/markdown-render.js.map +1 -1
  64. package/dist/core/components/markdown.d.ts +4 -3
  65. package/dist/core/components/markdown.d.ts.map +1 -1
  66. package/dist/core/components/markdown.js +6 -5
  67. package/dist/core/components/markdown.js.map +1 -1
  68. package/dist/core/components/paginator.d.ts.map +1 -1
  69. package/dist/core/components/paginator.js +5 -3
  70. package/dist/core/components/paginator.js.map +1 -1
  71. package/dist/core/components/perf-overlay.d.ts.map +1 -1
  72. package/dist/core/components/perf-overlay.js +3 -2
  73. package/dist/core/components/perf-overlay.js.map +1 -1
  74. package/dist/core/components/preference-list.d.ts.map +1 -1
  75. package/dist/core/components/preference-list.js +75 -37
  76. package/dist/core/components/preference-list.js.map +1 -1
  77. package/dist/core/components/progress.d.ts.map +1 -1
  78. package/dist/core/components/progress.js +4 -3
  79. package/dist/core/components/progress.js.map +1 -1
  80. package/dist/core/components/separator-v3.d.ts.map +1 -1
  81. package/dist/core/components/separator-v3.js +11 -11
  82. package/dist/core/components/separator-v3.js.map +1 -1
  83. package/dist/core/components/separator.d.ts.map +1 -1
  84. package/dist/core/components/separator.js +4 -1
  85. package/dist/core/components/separator.js.map +1 -1
  86. package/dist/core/components/skeleton.d.ts.map +1 -1
  87. package/dist/core/components/skeleton.js +3 -2
  88. package/dist/core/components/skeleton.js.map +1 -1
  89. package/dist/core/components/surface-text.d.ts +7 -0
  90. package/dist/core/components/surface-text.d.ts.map +1 -1
  91. package/dist/core/components/surface-text.js +33 -25
  92. package/dist/core/components/surface-text.js.map +1 -1
  93. package/dist/core/components/table-v3.d.ts +5 -2
  94. package/dist/core/components/table-v3.d.ts.map +1 -1
  95. package/dist/core/components/table-v3.js +26 -16
  96. package/dist/core/components/table-v3.js.map +1 -1
  97. package/dist/core/components/table.d.ts +16 -2
  98. package/dist/core/components/table.d.ts.map +1 -1
  99. package/dist/core/components/table.js +136 -18
  100. package/dist/core/components/table.js.map +1 -1
  101. package/dist/core/forms/filter-interactive.d.ts.map +1 -1
  102. package/dist/core/forms/filter-interactive.js +2 -4
  103. package/dist/core/forms/filter-interactive.js.map +1 -1
  104. package/dist/core/forms/multiselect.d.ts.map +1 -1
  105. package/dist/core/forms/multiselect.js +2 -4
  106. package/dist/core/forms/multiselect.js.map +1 -1
  107. package/dist/core/forms/note.d.ts.map +1 -1
  108. package/dist/core/forms/note.js +2 -1
  109. package/dist/core/forms/note.js.map +1 -1
  110. package/dist/core/forms/select.d.ts.map +1 -1
  111. package/dist/core/forms/select.js +2 -4
  112. package/dist/core/forms/select.js.map +1 -1
  113. package/dist/core/forms/textarea-editor.d.ts.map +1 -1
  114. package/dist/core/forms/textarea-editor.js +7 -5
  115. package/dist/core/forms/textarea-editor.js.map +1 -1
  116. package/dist/core/layout/geometry.d.ts +39 -0
  117. package/dist/core/layout/geometry.d.ts.map +1 -0
  118. package/dist/core/layout/geometry.js +201 -0
  119. package/dist/core/layout/geometry.js.map +1 -0
  120. package/dist/core/numeric.d.ts +16 -0
  121. package/dist/core/numeric.d.ts.map +1 -0
  122. package/dist/core/numeric.js +37 -0
  123. package/dist/core/numeric.js.map +1 -0
  124. package/dist/core/render/differ.d.ts.map +1 -1
  125. package/dist/core/render/differ.js +15 -13
  126. package/dist/core/render/differ.js.map +1 -1
  127. package/dist/core/runtime-viewport.d.ts.map +1 -1
  128. package/dist/core/runtime-viewport.js +2 -3
  129. package/dist/core/runtime-viewport.js.map +1 -1
  130. package/dist/core/text/grapheme.d.ts +51 -0
  131. package/dist/core/text/grapheme.d.ts.map +1 -1
  132. package/dist/core/text/grapheme.js +68 -0
  133. package/dist/core/text/grapheme.js.map +1 -1
  134. package/dist/core/text/icon-presentation.d.ts +10 -0
  135. package/dist/core/text/icon-presentation.d.ts.map +1 -0
  136. package/dist/core/text/icon-presentation.js +12 -0
  137. package/dist/core/text/icon-presentation.js.map +1 -0
  138. package/dist/core/text/index.d.ts +2 -1
  139. package/dist/core/text/index.d.ts.map +1 -1
  140. package/dist/core/text/index.js +2 -1
  141. package/dist/core/text/index.js.map +1 -1
  142. package/dist/core/theme/color.d.ts +32 -0
  143. package/dist/core/theme/color.d.ts.map +1 -1
  144. package/dist/core/theme/color.js +68 -0
  145. package/dist/core/theme/color.js.map +1 -1
  146. package/dist/core/theme/graph-types.d.ts +5 -0
  147. package/dist/core/theme/graph-types.d.ts.map +1 -1
  148. package/dist/core/theme/graph.d.ts.map +1 -1
  149. package/dist/core/theme/graph.js +52 -5
  150. package/dist/core/theme/graph.js.map +1 -1
  151. package/dist/core/theme/index.d.ts +2 -1
  152. package/dist/core/theme/index.d.ts.map +1 -1
  153. package/dist/core/theme/index.js +1 -1
  154. package/dist/core/theme/index.js.map +1 -1
  155. package/dist/core/theme/presets.d.ts +3 -2
  156. package/dist/core/theme/presets.d.ts.map +1 -1
  157. package/dist/core/theme/presets.js +18 -29
  158. package/dist/core/theme/presets.js.map +1 -1
  159. package/dist/factory.d.ts +3 -0
  160. package/dist/factory.d.ts.map +1 -1
  161. package/dist/factory.js +4 -6
  162. package/dist/factory.js.map +1 -1
  163. package/dist/index.d.ts +8 -5
  164. package/dist/index.d.ts.map +1 -1
  165. package/dist/index.js +8 -5
  166. package/dist/index.js.map +1 -1
  167. package/dist/ports/context.d.ts +6 -1
  168. package/dist/ports/context.d.ts.map +1 -1
  169. package/dist/ports/surface.d.ts +6 -4
  170. package/dist/ports/surface.d.ts.map +1 -1
  171. package/dist/ports/surface.js +40 -23
  172. package/dist/ports/surface.js.map +1 -1
  173. 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
- // Known limitation: wordWrap runs on raw markdown source before
47
- // parseInline, so invisible markers like **bold** and [link](url)
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 = wordWrap(item, indentWidth > 0 ? indentWidth : width);
62
- lines.push(bullet + parseInline(wrapped[0], ctx));
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) + parseInline(wrapped[i], ctx));
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 = wordWrap(block.items[n], indentWidth > 0 ? indentWidth : width);
80
- lines.push(paddedPrefix + parseInline(wrapped[0], ctx));
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) + parseInline(wrapped[i], ctx));
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, code blocks, horizontal rules, links,
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 blockquotes.
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;AAO3D,+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;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAU1E"}
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, code blocks, horizontal rules, links,
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 blockquotes.
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 rawWidth = options?.width ?? ctx.runtime.columns;
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;;;;;;;;;;;;;;GAcG;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,QAAQ,GAAG,OAAO,EAAE,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;IACvD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtF,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACvC,OAAO,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC"}
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;AAI3D,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,CA0B3D"}
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 page = options.current + 1; // convert 0-indexed to 1-indexed for display
17
- const total = options.total;
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 === options.current) {
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;AAcjD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,SAAS,CAAC,OAAyB;IACjD,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,6CAA6C;IAC/E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAE5B,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,CAAC,OAAO,EAAE,CAAC;oBAC1B,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
+ {"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;AAGrE,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"}
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 ?? 32;
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 ?? 4;
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":"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"}
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":"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"}
1
+ {"version":3,"file":"preference-list.d.ts","sourceRoot":"","sources":["../../../src/core/components/preference-list.ts"],"names":[],"mappings":"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"}