@bestagentkits/render 0.1.0 → 0.2.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 (111) hide show
  1. package/CHANGELOG.md +119 -0
  2. package/README.md +189 -34
  3. package/assets/fonts/bricolage-grotesque/OFL.txt +93 -0
  4. package/assets/fonts/fraunces/OFL.txt +93 -0
  5. package/assets/fonts/geist/OFL.txt +93 -0
  6. package/assets/fonts/inter-tight/OFL.txt +93 -0
  7. package/assets/fonts/jetbrains-mono/OFL.txt +93 -0
  8. package/assets/fonts/plus-jakarta-sans/OFL.txt +93 -0
  9. package/dist/cli.d.ts +2 -0
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +51 -10
  12. package/dist/cli.js.map +1 -1
  13. package/dist/mcp-server.d.ts +37 -0
  14. package/dist/mcp-server.d.ts.map +1 -0
  15. package/dist/mcp-server.js +274 -0
  16. package/dist/mcp-server.js.map +1 -0
  17. package/dist/registry/roster.d.ts +1 -1
  18. package/dist/registry/roster.d.ts.map +1 -1
  19. package/dist/registry/roster.js +222 -6
  20. package/dist/registry/roster.js.map +1 -1
  21. package/dist/render/block-helpers.d.ts +52 -0
  22. package/dist/render/block-helpers.d.ts.map +1 -0
  23. package/dist/render/block-helpers.js +113 -0
  24. package/dist/render/block-helpers.js.map +1 -0
  25. package/dist/render/blocks.d.ts +3 -4
  26. package/dist/render/blocks.d.ts.map +1 -1
  27. package/dist/render/blocks.js +126 -121
  28. package/dist/render/blocks.js.map +1 -1
  29. package/dist/render/charts.d.ts +5 -0
  30. package/dist/render/charts.d.ts.map +1 -1
  31. package/dist/render/charts.js +205 -90
  32. package/dist/render/charts.js.map +1 -1
  33. package/dist/render/derived-variables.d.ts +17 -0
  34. package/dist/render/derived-variables.d.ts.map +1 -0
  35. package/dist/render/derived-variables.js +17 -0
  36. package/dist/render/derived-variables.js.map +1 -0
  37. package/dist/render/diagram-fallback.d.ts +25 -0
  38. package/dist/render/diagram-fallback.d.ts.map +1 -0
  39. package/dist/render/diagram-fallback.js +86 -0
  40. package/dist/render/diagram-fallback.js.map +1 -0
  41. package/dist/render/document.d.ts +4 -0
  42. package/dist/render/document.d.ts.map +1 -1
  43. package/dist/render/document.js +34 -6
  44. package/dist/render/document.js.map +1 -1
  45. package/dist/render/effects-styles.d.ts +14 -0
  46. package/dist/render/effects-styles.d.ts.map +1 -0
  47. package/dist/render/effects-styles.js +39 -0
  48. package/dist/render/effects-styles.js.map +1 -0
  49. package/dist/render/embedded-fonts.generated.d.ts +22 -0
  50. package/dist/render/embedded-fonts.generated.d.ts.map +1 -0
  51. package/dist/render/embedded-fonts.generated.js +59 -0
  52. package/dist/render/embedded-fonts.generated.js.map +1 -0
  53. package/dist/render/feature-styles.d.ts +14 -0
  54. package/dist/render/feature-styles.d.ts.map +1 -0
  55. package/dist/render/feature-styles.js +161 -0
  56. package/dist/render/feature-styles.js.map +1 -0
  57. package/dist/render/font-faces.d.ts +22 -0
  58. package/dist/render/font-faces.d.ts.map +1 -0
  59. package/dist/render/font-faces.js +60 -0
  60. package/dist/render/font-faces.js.map +1 -0
  61. package/dist/render/outline.d.ts +21 -0
  62. package/dist/render/outline.d.ts.map +1 -0
  63. package/dist/render/outline.js +44 -0
  64. package/dist/render/outline.js.map +1 -0
  65. package/dist/render/render.d.ts.map +1 -1
  66. package/dist/render/render.js +53 -10
  67. package/dist/render/render.js.map +1 -1
  68. package/dist/render/runtime.d.ts.map +1 -1
  69. package/dist/render/runtime.js +184 -10
  70. package/dist/render/runtime.js.map +1 -1
  71. package/dist/render/showcase-blocks.d.ts +47 -0
  72. package/dist/render/showcase-blocks.d.ts.map +1 -0
  73. package/dist/render/showcase-blocks.js +349 -0
  74. package/dist/render/showcase-blocks.js.map +1 -0
  75. package/dist/render/showcase-styles.d.ts +15 -0
  76. package/dist/render/showcase-styles.d.ts.map +1 -0
  77. package/dist/render/showcase-styles.js +217 -0
  78. package/dist/render/showcase-styles.js.map +1 -0
  79. package/dist/render/signature-styles.d.ts +18 -0
  80. package/dist/render/signature-styles.d.ts.map +1 -0
  81. package/dist/render/signature-styles.js +41 -0
  82. package/dist/render/signature-styles.js.map +1 -0
  83. package/dist/render/styles.d.ts +18 -9
  84. package/dist/render/styles.d.ts.map +1 -1
  85. package/dist/render/styles.js +224 -128
  86. package/dist/render/styles.js.map +1 -1
  87. package/dist/render/surface-styles.d.ts +24 -0
  88. package/dist/render/surface-styles.d.ts.map +1 -0
  89. package/dist/render/surface-styles.js +41 -0
  90. package/dist/render/surface-styles.js.map +1 -0
  91. package/dist/render/verify.d.ts.map +1 -1
  92. package/dist/render/verify.js +30 -0
  93. package/dist/render/verify.js.map +1 -1
  94. package/dist/spec/normalize.d.ts.map +1 -1
  95. package/dist/spec/normalize.js +32 -0
  96. package/dist/spec/normalize.js.map +1 -1
  97. package/dist/theme/load-theme.d.ts +2 -2
  98. package/dist/theme/load-theme.d.ts.map +1 -1
  99. package/dist/theme/load-theme.js +46 -10
  100. package/dist/theme/load-theme.js.map +1 -1
  101. package/dist/theme/presets.d.ts +4 -3
  102. package/dist/theme/presets.d.ts.map +1 -1
  103. package/dist/theme/presets.js +35 -18
  104. package/dist/theme/presets.js.map +1 -1
  105. package/dist/theme/tokens.d.ts.map +1 -1
  106. package/dist/theme/tokens.js +4 -4
  107. package/dist/theme/tokens.js.map +1 -1
  108. package/dist/version.d.ts +1 -1
  109. package/dist/version.js +1 -1
  110. package/llms.txt +25 -0
  111. package/package.json +9 -3
@@ -13,40 +13,16 @@
13
13
  */
14
14
  import { runDiagramAdapter } from '../diagram/adapter.js';
15
15
  import { isPlainObject } from '../json.js';
16
- import { EMBED_PROVIDERS, hostMatchesAnyProvider, hostMatchesProvider } from '../spec/providers.js';
16
+ import { EMBED_PROVIDERS } from '../spec/providers.js';
17
+ import { blockedReason, element, figureCaption, heading, listProp, nodeAttributes, numberProp, numProp, objectListProp, resolveMedia, str, stringProp, titleHeader, } from './block-helpers.js';
17
18
  import { renderChart } from './charts.js';
19
+ import { renderDiagramFallback } from './diagram-fallback.js';
18
20
  import { escapeAttribute, escapeText, escapeUrl, renderAttributes, } from './escape.js';
21
+ import { browserShot, SHOWCASE_RENDERERS } from './showcase-blocks.js';
19
22
  const NO_OP_RENDERER = () => '';
20
- function stringProp(node, key, fallback = '') {
21
- const value = node.props[key];
22
- return typeof value === 'string' ? value : fallback;
23
- }
24
- function numberProp(node, key, fallback = 0) {
25
- const value = node.props[key];
26
- return typeof value === 'number' ? value : fallback;
27
- }
28
- function listProp(node, key) {
29
- const value = node.props[key];
30
- return Array.isArray(value) ? value : [];
31
- }
32
- function objectListProp(node, key) {
33
- return listProp(node, key).filter(isPlainObject);
34
- }
35
- function str(value, fallback = '') {
36
- return typeof value === 'string' ? value : fallback;
37
- }
38
- function numProp(value, fallback = 0) {
39
- return typeof value === 'number' ? value : fallback;
40
- }
41
- /** `data-ak-id` plus every non-click binding on the node. */
42
- function nodeAttributes(node, extra = {}) {
43
- const attributes = { 'data-ak-id': node.id, ...extra };
44
- for (const [event, actions] of Object.entries(node.bindings)) {
45
- if (event === 'click')
46
- continue;
47
- attributes[`data-ak-on-${event}`] = JSON.stringify(actions);
48
- }
49
- return attributes;
23
+ /** Fragment id of a section, shared by the section renderer and the page outline. */
24
+ export function sectionAnchor(nodeId) {
25
+ return `ak-sec-${nodeId}`;
50
26
  }
51
27
  /** `data-ak-on-click` for a control, when the node binds a click action. */
52
28
  function clickAttribute(bindings) {
@@ -55,71 +31,82 @@ function clickAttribute(bindings) {
55
31
  return {};
56
32
  return { 'data-ak-on-click': JSON.stringify(actions) };
57
33
  }
58
- function element(tag, attributes, inner) {
59
- const rendered = renderAttributes(attributes);
60
- return inner === '' ? `<${tag}${rendered}></${tag}>` : `<${tag}${rendered}>${inner}</${tag}>`;
61
- }
62
- function heading(level, text, className = 'ak-section-head') {
63
- return `<header class="${className}"><h${level}>${escapeText(text)}</h${level}></header>`;
64
- }
65
- /** A section heading for blocks whose `title` is optional. */
66
- function titleHeader(node, level = 2) {
67
- const title = stringProp(node, 'title');
68
- return title === '' ? '' : heading(level, title);
69
- }
70
- function figureCaption(value) {
71
- return value === '' ? '' : `<figcaption>${escapeText(value)}</figcaption>`;
72
- }
73
34
  function toneAttribute(node, fallback = 'info') {
74
35
  return { 'data-tone': stringProp(node, 'tone', fallback) };
75
36
  }
76
- function isRemote(reference) {
77
- return /^[a-zA-Z][a-zA-Z0-9+.-]*:/.test(reference);
78
- }
79
- function capabilityAllowed(policy, capability) {
80
- if (policy === 'deny')
81
- return false;
82
- return policy.allow.includes(capability);
83
- }
84
37
  /**
85
- * Decide whether a remote reference may be loaded.
86
- *
87
- * Two gates apply. The capability must be opted into, and when the page declares
88
- * a provider allowlist the reference's host must belong to one of those
89
- * providers. A block that names a provider itself requires that provider to be
90
- * allowlisted, so a spec cannot promote an arbitrary host to trusted by
91
- * labelling it "youtube".
38
+ * Tone for a value a reader scans for severity or outcome. Only exact, known
39
+ * words map to a tone; anything else stays neutral, so a label is never
40
+ * coloured by guesswork.
92
41
  */
93
- function networkAllows(policy, capability, reference, provider) {
94
- if (!capabilityAllowed(policy, capability))
95
- return false;
96
- if (policy === 'deny')
97
- return false;
98
- const declared = policy.providers ?? [];
99
- if (provider !== '') {
100
- return declared.includes(provider) && hostMatchesProvider(provider, reference);
42
+ const VALUE_TONES = {
43
+ high: 'danger',
44
+ critical: 'danger',
45
+ blocker: 'danger',
46
+ bug: 'danger',
47
+ issue: 'danger',
48
+ deleted: 'danger',
49
+ removed: 'danger',
50
+ medium: 'warning',
51
+ concern: 'warning',
52
+ warning: 'warning',
53
+ renamed: 'warning',
54
+ modified: 'info',
55
+ changed: 'info',
56
+ question: 'info',
57
+ note: 'info',
58
+ low: 'success',
59
+ good: 'success',
60
+ praise: 'success',
61
+ added: 'success',
62
+ new: 'success',
63
+ };
64
+ function valueTone(value) {
65
+ return VALUE_TONES[value.trim().toLowerCase()] ?? 'neutral';
66
+ }
67
+ /** A status word rendered as a toned badge. */
68
+ function toneBadge(value) {
69
+ return `<span class="ak-badge" data-tone="${valueTone(value)}">${escapeText(value)}</span>`;
70
+ }
71
+ /** A cell reads as a number when it is digits with optional sign, grouping, decimals, percent or a short unit. */
72
+ const NUMERIC_CELL = /^[-+−]?[$€£]?\d[\d,]*(?:\.\d+)?\s?(?:%|[A-Za-z]{1,3})?$/u;
73
+ /** Column indexes whose every non-empty cell is numeric, so they can align on the right. */
74
+ function numericColumns(rows, width) {
75
+ const numeric = new Set();
76
+ for (let column = 0; column < width; column += 1) {
77
+ const cells = rows
78
+ .map((row) => (Array.isArray(row) ? str(row[column]).trim() : ''))
79
+ .filter((cell) => cell !== '');
80
+ if (cells.length > 0 && cells.every((cell) => NUMERIC_CELL.test(cell)))
81
+ numeric.add(column);
101
82
  }
102
- if (declared.length === 0)
103
- return true;
104
- return hostMatchesAnyProvider(declared, reference);
83
+ return numeric;
84
+ }
85
+ /** A diff line count; zero stays neutral so only real change is coloured. */
86
+ function lineCountCell(value, kind) {
87
+ const sign = kind === 'add' ? '+' : '\u2212';
88
+ const tone = value === 0 ? 'ak-zero' : `ak-${kind}`;
89
+ return `<td class="ak-num ${tone}">${sign}${escapeText(String(value))}</td>`;
90
+ }
91
+ /** Split code into one span per line so the stylesheet can number lines; newlines stay in the text. */
92
+ function codeLines(text) {
93
+ const lines = text.replace(/\n$/u, '').split('\n');
94
+ return lines.map((line) => `<span class="ak-line">${escapeText(line)}</span>`).join('\n');
105
95
  }
106
96
  /**
107
- * Resolve a media reference against the network policy.
108
- *
109
- * A relative path is local and always allowed; a remote reference needs the
110
- * matching capability and, when a provider allowlist exists, an allowlisted
111
- * host. Nothing here can produce an embed the spec did not ask for in a way the
112
- * policy did not allow.
97
+ * Wrap each word of the hero title so it can rise into view on its own beat.
98
+ * The spaces stay as text between the wrappers, so the heading's text content
99
+ * and its line wrapping are unchanged.
113
100
  */
114
- function resolveMedia(reference, policy, capability, provider = '') {
115
- if (!isRemote(reference))
116
- return { allowed: true, src: escapeUrl(reference) };
117
- return {
118
- allowed: networkAllows(policy, capability, reference, provider),
119
- src: escapeUrl(reference),
120
- };
101
+ function heroWords(title) {
102
+ return title
103
+ .split(/(\s+)/u)
104
+ .map((part) => part === '' || /^\s+$/u.test(part)
105
+ ? part
106
+ : `<span class="ak-word"><span>${escapeText(part)}</span></span>`)
107
+ .join('');
121
108
  }
122
- function mediaFallbackBody(title, description, url, poster, linkText, note = 'Remote media is not embedded because the page denies network access.') {
109
+ function mediaFallbackBody(title, description, url, poster, linkText, note) {
123
110
  const posterMarkup = poster === '' ? '' : `<img src="${escapeAttribute(escapeUrl(poster))}" alt="" />`;
124
111
  const link = url === ''
125
112
  ? ''
@@ -135,6 +122,7 @@ function mediaFallbackBody(title, description, url, poster, linkText, note = 'Re
135
122
  .join('');
136
123
  }
137
124
  const RENDERERS = {
125
+ ...SHOWCASE_RENDERERS,
138
126
  page: (node, context) => {
139
127
  // Every page needs exactly one h1. A hero (or an explicit level-1 heading)
140
128
  // provides it; otherwise the document title does, so a page without a hero
@@ -146,7 +134,13 @@ const RENDERERS = {
146
134
  : `<h1 class="ak-page-title">${escapeText(context.ir.meta.title)}</h1>`;
147
135
  return element('main', { class: 'ak-main', id: 'ak-main-content', 'aria-label': context.ir.meta.title }, `${title}${context.renderChildren(node)}`);
148
136
  },
149
- section: (node, context) => element('section', nodeAttributes(node, { class: 'ak-block ak-section' }), `${titleHeader(node)}${context.renderChildren(node)}`),
137
+ section: (node, context) => element('section',
138
+ // The id is the outline's link target; node ids are unique, so it is too.
139
+ nodeAttributes(node, {
140
+ class: 'ak-block ak-section',
141
+ id: sectionAnchor(node.id),
142
+ 'data-surface': stringProp(node, 'surface') === 'inverse' ? 'inverse' : undefined,
143
+ }), `${titleHeader(node)}${context.renderChildren(node)}`),
150
144
  stack: (node, context) => element('div', nodeAttributes(node, {
151
145
  class: 'ak-block ak-stack',
152
146
  'data-gap': stringProp(node, 'gap', 'normal'),
@@ -195,14 +189,22 @@ const RENDERERS = {
195
189
  code: (node) => {
196
190
  const title = stringProp(node, 'title');
197
191
  const language = stringProp(node, 'language', 'text');
192
+ const copy = renderAttributes({
193
+ 'data-ak-on-click': JSON.stringify([{ action: 'copy', target: node.id }]),
194
+ 'aria-label': title === '' ? 'Copy code' : `Copy ${title}`,
195
+ });
198
196
  return [
199
197
  `<div class="ak-block ak-code">`,
200
- title === '' && language === ''
198
+ '<div class="ak-code-head">',
199
+ `<span class="ak-label">${escapeText(title === '' ? language : title)}</span>`,
200
+ title === '' || language === ''
201
201
  ? ''
202
- : `<div class="ak-code-head"><span class="ak-label">${escapeText(title === '' ? language : title)}</span></div>`,
202
+ : `<span class="ak-code-lang">${escapeText(language)}</span>`,
203
+ `<button type="button" class="ak-code-copy"${copy}>Copy</button>`,
204
+ '</div>',
203
205
  `<pre${renderAttributes({ 'data-ak-id': node.id })}><code${renderAttributes({
204
206
  class: `language-${language}`,
205
- })}>${escapeText(stringProp(node, 'text'))}</code></pre>`,
207
+ })}>${codeLines(stringProp(node, 'text'))}</code></pre>`,
206
208
  '</div>',
207
209
  ]
208
210
  .filter((part) => part !== '')
@@ -252,14 +254,23 @@ const RENDERERS = {
252
254
  '</aside>',
253
255
  ].join('');
254
256
  },
255
- hero: (node) => {
257
+ hero: (node, context) => {
256
258
  const eyebrow = stringProp(node, 'eyebrow');
257
259
  const description = stringProp(node, 'description');
260
+ const source = stringProp(node, 'src');
258
261
  return [
259
- `<div${renderAttributes(nodeAttributes(node, { class: 'ak-block ak-hero' }))}>`,
262
+ `<div${renderAttributes(nodeAttributes(node, {
263
+ class: 'ak-block ak-hero',
264
+ 'data-align': stringProp(node, 'align') === 'center' ? 'center' : undefined,
265
+ 'data-media': source === '' ? undefined : 'true',
266
+ }))}>`,
260
267
  eyebrow === '' ? '' : `<p class="ak-eyebrow">${escapeText(eyebrow)}</p>`,
261
- `<h1>${escapeText(stringProp(node, 'title'))}</h1>`,
268
+ `<h1>${heroWords(stringProp(node, 'title'))}</h1>`,
262
269
  description === '' ? '' : `<p>${escapeText(description)}</p>`,
270
+ // The shot is the first thing on screen, so it loads eagerly.
271
+ source === ''
272
+ ? ''
273
+ : `<figure class="ak-hero-media"><div class="ak-hero-stage">${browserShot(source, stringProp(node, 'alt'), stringProp(node, 'address'), context.ir.policy.network, 'eager')}</div></figure>`,
263
274
  '</div>',
264
275
  ].join('');
265
276
  },
@@ -337,20 +348,24 @@ const RENDERERS = {
337
348
  const columns = listProp(node, 'columns');
338
349
  const rows = listProp(node, 'rows');
339
350
  const title = stringProp(node, 'title');
351
+ const numeric = numericColumns(rows, columns.length);
352
+ const align = (index) => (numeric.has(index) ? ' class="ak-num"' : '');
340
353
  const head = columns
341
- .map((column) => `<th scope="col">${escapeText(str(column))}</th>`)
354
+ .map((column, index) => `<th scope="col"${align(index)}>${escapeText(str(column))}</th>`)
342
355
  .join('');
343
356
  const body = rows
344
357
  .map((row) => {
345
358
  const cells = (Array.isArray(row) ? row : [])
346
- .map((cell) => `<td>${escapeText(str(cell))}</td>`)
359
+ .map((cell, index) => `<td${align(index)}>${escapeText(str(cell))}</td>`)
347
360
  .join('');
348
361
  return `<tr>${cells}</tr>`;
349
362
  })
350
363
  .join('');
351
364
  return element('section', nodeAttributes(node, { class: 'ak-block' }), [
352
365
  title === '' ? '' : heading(2, title),
353
- `<div class="ak-table-wrap"><table>${title === '' ? '' : `<caption>${escapeText(title)}</caption>`}<thead><tr>${head}</tr></thead><tbody>${body}</tbody></table></div>`,
366
+ // The visible heading already names the table, so the caption stays for
367
+ // assistive technology only instead of printing the title twice.
368
+ `<div class="ak-table-wrap"><table>${title === '' ? '' : `<caption class="ak-sr">${escapeText(title)}</caption>`}<thead><tr>${head}</tr></thead><tbody>${body}</tbody></table></div>`,
354
369
  ].join(''));
355
370
  },
356
371
  comparison: (node) => {
@@ -368,16 +383,19 @@ const RENDERERS = {
368
383
  return element('section', nodeAttributes(node, { class: 'ak-block' }), [
369
384
  titleHeader(node),
370
385
  `<div class="ak-table-wrap"><table><caption>Risk by impact and likelihood</caption><thead><tr><th scope="col">Area</th><th scope="col">Impact</th><th scope="col">Likelihood</th><th scope="col">Note</th></tr></thead><tbody>${items
371
- .map((item) => `<tr><th scope="row">${escapeText(str(item.area))}</th><td>${escapeText(str(item.impact))}</td><td>${escapeText(str(item.likelihood))}</td><td>${escapeText(str(item.note))}</td></tr>`)
386
+ .map((item) => `<tr><th scope="row">${escapeText(str(item.area))}</th><td>${toneBadge(str(item.impact))}</td><td>${toneBadge(str(item.likelihood))}</td><td>${escapeText(str(item.note))}</td></tr>`)
372
387
  .join('')}</tbody></table></div>`,
373
388
  ].join(''));
374
389
  },
375
390
  'diff-summary': (node) => {
376
391
  const items = objectListProp(node, 'items');
392
+ const header = titleHeader(node);
393
+ // A visible block title already names the table; the caption then stays for screen readers only.
394
+ const caption = header === '' ? '<caption>' : '<caption class="ak-sr">';
377
395
  return element('section', nodeAttributes(node, { class: 'ak-block' }), [
378
- titleHeader(node),
379
- `<div class="ak-table-wrap"><table><caption>Changed files</caption><thead><tr><th scope="col">Path</th><th scope="col">Status</th><th scope="col">Additions</th><th scope="col">Deletions</th></tr></thead><tbody>${items
380
- .map((item) => `<tr><th scope="row"><code>${escapeText(str(item.path))}</code></th><td>${escapeText(str(item.status))}</td><td>${escapeText(String(numProp(item.additions, 0)))}</td><td>${escapeText(String(numProp(item.deletions, 0)))}</td></tr>`)
396
+ header,
397
+ `<div class="ak-table-wrap"><table>${caption}Changed files</caption><thead><tr><th scope="col">Path</th><th scope="col">Status</th><th scope="col" class="ak-num">Additions</th><th scope="col" class="ak-num">Deletions</th></tr></thead><tbody>${items
398
+ .map((item) => `<tr><th scope="row"><code>${escapeText(str(item.path))}</code></th><td>${toneBadge(str(item.status))}</td>${lineCountCell(numProp(item.additions, 0), 'add')}${lineCountCell(numProp(item.deletions, 0), 'del')}</tr>`)
381
399
  .join('')}</tbody></table></div>`,
382
400
  ].join(''));
383
401
  },
@@ -386,7 +404,7 @@ const RENDERERS = {
386
404
  return element('section', nodeAttributes(node, { class: 'ak-block' }), [
387
405
  titleHeader(node),
388
406
  `<ul class="ak-grid" data-ak-columns="2">${items
389
- .map((item) => `<li class="ak-card ak-surface"><p class="ak-label">${escapeText(str(item.kind))}</p><p><strong>${escapeText(str(item.title))}</strong></p><p>${escapeText(str(item.text))}</p></li>`)
407
+ .map((item) => `<li class="ak-card ak-surface" data-tone="${valueTone(str(item.kind))}"><p class="ak-label">${escapeText(str(item.kind))}</p><p><strong>${escapeText(str(item.title))}</strong></p><p>${escapeText(str(item.text))}</p></li>`)
390
408
  .join('')}</ul>`,
391
409
  ].join(''));
392
410
  },
@@ -499,20 +517,7 @@ const RENDERERS = {
499
517
  // The semantic fallback is always available: it is the only rendering when
500
518
  // no adapter is installed, and it stays in the document as the accessible
501
519
  // description when one is.
502
- const fallbackBody = [
503
- described.length === 0
504
- ? ''
505
- : `<ul class="ak-list">${described
506
- .map((component) => `<li><code>${escapeText(str(component.id))}</code><span>${escapeText(str(component.label))}</span></li>`)
507
- .join('')}</ul>`,
508
- edges.length === 0
509
- ? ''
510
- : `<ul class="ak-list">${edges
511
- .map((edge) => `<li><code>${escapeText(str(edge.from))} → ${escapeText(str(edge.to))}</code><span>${escapeText(str(edge.label))}</span></li>`)
512
- .join('')}</ul>`,
513
- ]
514
- .filter((part) => part !== '')
515
- .join('');
520
+ const fallbackBody = renderDiagramFallback(described, edges);
516
521
  const adapterResult = runDiagramAdapter(context.diagramAdapter, {
517
522
  spec: (node.props.spec ?? null),
518
523
  title: diagramTitle,
@@ -536,7 +541,7 @@ const RENDERERS = {
536
541
  ? `<div class="ak-diagram-rendered" data-ak-diagram-adapter="${escapeAttribute(adapterResult.adapter)}">${adapterResult.markup}</div>`
537
542
  : '',
538
543
  `<div class="ak-diagram-fallback" data-ak-diagram-fallback>`,
539
- `<p><strong>${escapeText(diagramTitle)}</strong></p>`,
544
+ `<p class="ak-diagram-title">${escapeText(diagramTitle)}</p>`,
540
545
  fallbackBody,
541
546
  accepted
542
547
  ? '<p class="ak-caption">Rendered by a diagram adapter. The structured description below is the accessible equivalent.</p>'
@@ -555,7 +560,7 @@ const RENDERERS = {
555
560
  if (!resolved.allowed) {
556
561
  return [
557
562
  `<figure${renderAttributes(nodeAttributes(node, { class: 'ak-block ak-media' }))}>`,
558
- `<div class="ak-media-fallback"><p><strong>${escapeText(alt)}</strong></p><p class="ak-caption">Remote image not loaded: the page denies network access.</p><a href="${escapeAttribute(resolved.src)}" rel="noreferrer noopener">Open image</a></div>`,
563
+ `<div class="ak-media-fallback"><p><strong>${escapeText(alt)}</strong></p><p class="ak-caption">Remote image not loaded: ${blockedReason(context.ir.policy.network, 'images')}.</p><a href="${escapeAttribute(resolved.src)}" rel="noreferrer noopener">Open image</a></div>`,
559
564
  figureCaption(captionText),
560
565
  '</figure>',
561
566
  ].join('');
@@ -599,7 +604,7 @@ const RENDERERS = {
599
604
  `<figure${renderAttributes(nodeAttributes(node, { class: 'ak-block ak-media' }))}>`,
600
605
  `<div class="ak-media-fallback">${mediaFallbackBody(stringProp(node, 'title'), str(fallback.description, `${label} content`), source, stringProp(node, 'poster'), str(fallback.linkText, `Open on ${label}`), resolved.allowed
601
606
  ? `Embedded players are not emitted; this page links to ${label} instead.`
602
- : `Embedded players are not emitted and the page denies network access; this page links to ${label} instead.`)}</div>`,
607
+ : `Embedded players are not emitted and ${blockedReason(context.ir.policy.network, 'media')}; this page links to ${label} instead.`)}</div>`,
603
608
  figureCaption(captionText),
604
609
  '</figure>',
605
610
  ].join('');
@@ -607,7 +612,7 @@ const RENDERERS = {
607
612
  if (!resolved.allowed) {
608
613
  return [
609
614
  `<figure${renderAttributes(nodeAttributes(node, { class: 'ak-block ak-media' }))}>`,
610
- `<div class="ak-media-fallback">${mediaFallbackBody(stringProp(node, 'title'), str(fallback.description, 'Remote video is unavailable without network access.'), str(fallback.url, source), stringProp(node, 'poster'), str(fallback.linkText, 'Open video'))}</div>`,
615
+ `<div class="ak-media-fallback">${mediaFallbackBody(stringProp(node, 'title'), str(fallback.description, 'Remote video is not available on this page.'), str(fallback.url, source), stringProp(node, 'poster'), str(fallback.linkText, 'Open video'), `Remote media is not embedded because ${blockedReason(context.ir.policy.network, 'media')}.`)}</div>`,
611
616
  figureCaption(captionText),
612
617
  '</figure>',
613
618
  ].join('');
@@ -634,7 +639,7 @@ const RENDERERS = {
634
639
  `<figure${renderAttributes(nodeAttributes(node, { class: 'ak-block ak-media' }))}>`,
635
640
  `<div class="ak-media-fallback">${mediaFallbackBody(stringProp(node, 'title'), str(fallback.description, `${label} audio`), source, '', str(fallback.linkText, `Open on ${label}`), resolved.allowed
636
641
  ? `Embedded players are not emitted; this page links to ${label} instead.`
637
- : `Embedded players are not emitted and the page denies network access; this page links to ${label} instead.`)}</div>`,
642
+ : `Embedded players are not emitted and ${blockedReason(context.ir.policy.network, 'media')}; this page links to ${label} instead.`)}</div>`,
638
643
  figureCaption(captionText),
639
644
  '</figure>',
640
645
  ].join('');
@@ -642,7 +647,7 @@ const RENDERERS = {
642
647
  if (!resolved.allowed) {
643
648
  return [
644
649
  `<figure${renderAttributes(nodeAttributes(node, { class: 'ak-block ak-media' }))}>`,
645
- `<div class="ak-media-fallback">${mediaFallbackBody(stringProp(node, 'title'), str(fallback.description, 'Remote audio is unavailable without network access.'), str(fallback.url, source), '', str(fallback.linkText, 'Open audio'))}</div>`,
650
+ `<div class="ak-media-fallback">${mediaFallbackBody(stringProp(node, 'title'), str(fallback.description, 'Remote audio is not available on this page.'), str(fallback.url, source), '', str(fallback.linkText, 'Open audio'), `Remote media is not embedded because ${blockedReason(context.ir.policy.network, 'media')}.`)}</div>`,
646
651
  figureCaption(captionText),
647
652
  '</figure>',
648
653
  ].join('');
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../src/render/blocks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../src/render/blocks.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,11 @@
8
8
  *
9
9
  * All geometry is rounded to two decimals before it reaches the markup, because
10
10
  * floating-point noise would otherwise break byte-determinism across engines.
11
+ *
12
+ * Colour never appears here: shapes carry a series class (`ak-chart-s0` …
13
+ * `ak-chart-s5`) and the stylesheet maps each class onto the theme accent and
14
+ * hue rotations of it, so a chart always follows the active preset and colour
15
+ * scheme and no two series share a colour.
11
16
  */
12
17
  import { escapeAttribute } from './escape.js';
13
18
  export interface ChartSeries {
@@ -1 +1 @@
1
- {"version":3,"file":"charts.d.ts","sourceRoot":"","sources":["../../src/render/charts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,eAAe,EAAgC,MAAM,aAAa,CAAC;AAE5E,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA+OD,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CA+CrD;AAED,uFAAuF;AACvF,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"charts.d.ts","sourceRoot":"","sources":["../../src/render/charts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,eAAe,EAAgC,MAAM,aAAa,CAAC;AAE5E,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAybD,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAuBrD;AAED,uFAAuF;AACvF,OAAO,EAAE,eAAe,EAAE,CAAC"}