raffel 1.1.76 → 1.1.78

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 (35) hide show
  1. package/dist/docs/generators/http-generator.d.ts.map +1 -1
  2. package/dist/docs/generators/http-generator.js +20 -17
  3. package/dist/docs/generators/http-generator.js.map +1 -1
  4. package/dist/docs/generators/schema-converter.d.ts.map +1 -1
  5. package/dist/docs/generators/schema-converter.js +27 -10
  6. package/dist/docs/generators/schema-converter.js.map +1 -1
  7. package/dist/docs/ui/assets/code-block-toolbar.js +5 -1
  8. package/dist/docs/ui/assets/prism.js +549 -0
  9. package/dist/docs/ui/assets/raffel-docs.css +81 -2
  10. package/dist/docs/ui/assets/raffel-docs.js +35 -15
  11. package/dist/docs/ui/client-script/index.d.ts.map +1 -1
  12. package/dist/docs/ui/client-script/index.js +2 -1
  13. package/dist/docs/ui/client-script/index.js.map +1 -1
  14. package/dist/docs/ui/prism-browser-bundle.d.ts +3 -0
  15. package/dist/docs/ui/prism-browser-bundle.d.ts.map +1 -0
  16. package/dist/docs/ui/prism-browser-bundle.js +36 -0
  17. package/dist/docs/ui/prism-browser-bundle.js.map +1 -0
  18. package/dist/docs/ui/runtime/code-block-toolbar.d.ts.map +1 -1
  19. package/dist/docs/ui/runtime/code-block-toolbar.js +5 -1
  20. package/dist/docs/ui/runtime/code-block-toolbar.js.map +1 -1
  21. package/dist/docs/ui/runtime/index.js +35 -15
  22. package/dist/docs/ui/runtime/index.js.map +1 -1
  23. package/dist/docs/ui/style-sections/schema-code.d.ts +1 -1
  24. package/dist/docs/ui/style-sections/schema-code.d.ts.map +1 -1
  25. package/dist/docs/ui/style-sections/schema-code.js +81 -2
  26. package/dist/docs/ui/style-sections/schema-code.js.map +1 -1
  27. package/dist/ui/docs/generators/http-generator.d.ts.map +1 -1
  28. package/dist/ui/docs/generators/schema-converter.d.ts.map +1 -1
  29. package/dist/ui/docs/ui/client-script/index.d.ts.map +1 -1
  30. package/dist/ui/docs/ui/prism-browser-bundle.d.ts +3 -0
  31. package/dist/ui/docs/ui/prism-browser-bundle.d.ts.map +1 -0
  32. package/dist/ui/docs/ui/runtime/code-block-toolbar.d.ts.map +1 -1
  33. package/dist/ui/docs/ui/style-sections/schema-code.d.ts +1 -1
  34. package/dist/ui/docs/ui/style-sections/schema-code.d.ts.map +1 -1
  35. package/package.json +1 -1
@@ -1565,6 +1565,31 @@ function buildHttpSamples(request) {
1565
1565
  samples.go = go;
1566
1566
  return samples;
1567
1567
  }
1568
+ function createSampleCopyButton(className, getText) {
1569
+ const button = doc.createElement('button');
1570
+ button.type = 'button';
1571
+ button.className = className;
1572
+ button.textContent = 'Copy';
1573
+ button.onclick = () => {
1574
+ const text = getText();
1575
+ const finish = () => {
1576
+ button.textContent = 'Copied';
1577
+ setTimeout(() => { if (button.textContent === 'Copied')
1578
+ button.textContent = 'Copy'; }, 1200);
1579
+ };
1580
+ try {
1581
+ const result = win.navigator?.clipboard?.writeText?.(text);
1582
+ if (result && typeof result.then === 'function')
1583
+ result.then(finish).catch(finish);
1584
+ else
1585
+ finish();
1586
+ }
1587
+ catch {
1588
+ finish();
1589
+ }
1590
+ };
1591
+ return button;
1592
+ }
1568
1593
  function renderCodeExamples(endpoint, data) {
1569
1594
  const samples = buildHttpSamples(buildStructuredHttpRequest(endpoint, data));
1570
1595
  const langs = [
@@ -1589,6 +1614,7 @@ function renderCodeExamples(endpoint, data) {
1589
1614
  content.className = `code-content${index === 0 ? ' active' : ''}`;
1590
1615
  const pre = doc.createElement('pre');
1591
1616
  pre.className = 'http-code-sample-pre';
1617
+ pre.setAttribute('data-code-toolbar', 'managed');
1592
1618
  const code = doc.createElement('code');
1593
1619
  code.className = `language-${language}`;
1594
1620
  code.textContent = samples[key];
@@ -1603,21 +1629,10 @@ function renderCodeExamples(endpoint, data) {
1603
1629
  tabs.appendChild(tab);
1604
1630
  contents.appendChild(content);
1605
1631
  });
1606
- const copy = doc.createElement('button');
1607
- copy.type = 'button';
1608
- copy.className = 'http-code-copy';
1609
- copy.textContent = 'Copy';
1610
- copy.onclick = () => {
1632
+ const copy = createSampleCopyButton('http-code-copy', () => {
1611
1633
  const active = contents.querySelector('.code-content.active pre');
1612
- const text = active?.textContent ?? '';
1613
- const clip = globalThis.navigator?.clipboard;
1614
- if (clip?.writeText) {
1615
- clip.writeText(text).then(() => {
1616
- copy.textContent = 'Copied';
1617
- setTimeout(() => { copy.textContent = 'Copy'; }, 1200);
1618
- });
1619
- }
1620
- };
1634
+ return active?.textContent ?? '';
1635
+ });
1621
1636
  tabs.appendChild(copy);
1622
1637
  wrap.appendChild(tabs);
1623
1638
  wrap.appendChild(contents);
@@ -1748,13 +1763,18 @@ function renderResponseSamples(responses, endpoint) {
1748
1763
  const label = doc.createElement('div');
1749
1764
  label.className = 'response-example-name';
1750
1765
  label.textContent = example.summary || example.name;
1751
- mediaBlock.appendChild(label);
1752
1766
  const pre = doc.createElement('pre');
1753
1767
  pre.className = `sample-code${example.error ? ' sample-code-error' : ''}`;
1768
+ pre.setAttribute('data-code-toolbar', 'managed');
1754
1769
  const code = doc.createElement('code');
1755
1770
  code.className = `language-${example.language || 'text'}`;
1756
1771
  code.textContent = example.value;
1757
1772
  pre.appendChild(code);
1773
+ const toolbar = doc.createElement('div');
1774
+ toolbar.className = 'response-example-toolbar';
1775
+ toolbar.appendChild(label);
1776
+ toolbar.appendChild(createSampleCopyButton('sample-code-copy', () => code.textContent ?? ''));
1777
+ mediaBlock.appendChild(toolbar);
1758
1778
  mediaBlock.appendChild(pre);
1759
1779
  });
1760
1780
  if (examples.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/docs/ui/client-script/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAoBH;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,EAC3B,gBAAgB,EAAE,MAAM,EACxB,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,MAAM,EAC1B,wBAAwB,EAAE,MAAM,EAChC,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,eAAe,GAAE,MAAe,EAChC,kBAAkB,GAAE,MAA6C,EACjE,cAAc,GAAE,MAAqC,EACrD,cAAc,GAAE,MAA6G,EAC7H,uBAAuB,GAAE,MAAa,EACtC,YAAY,GAAE,MAA4C,GACzD,MAAM,CAwBR;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAIpD;AAED,wBAAgB,sCAAsC,IAAI,MAAM,CAK/D;AAyKD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,EAC3B,gBAAgB,EAAE,MAAM,EACxB,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,MAAM,EAC1B,wBAAwB,EAAE,MAAM,EAChC,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,eAAe,GAAE,MAAe,EAChC,kBAAkB,CAAC,EAAE,MAAM,EAC3B,cAAc,GAAE,MAAqC,GACpD,MAAM,CAoBR"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/docs/ui/client-script/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAqBH;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,EAC3B,gBAAgB,EAAE,MAAM,EACxB,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,MAAM,EAC1B,wBAAwB,EAAE,MAAM,EAChC,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,eAAe,GAAE,MAAe,EAChC,kBAAkB,GAAE,MAA6C,EACjE,cAAc,GAAE,MAAqC,EACrD,cAAc,GAAE,MAA6G,EAC7H,uBAAuB,GAAE,MAAa,EACtC,YAAY,GAAE,MAA4C,GACzD,MAAM,CAwBR;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAIpD;AAED,wBAAgB,sCAAsC,IAAI,MAAM,CAK/D;AAyKD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,EAC3B,gBAAgB,EAAE,MAAM,EACxB,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,MAAM,EAC1B,wBAAwB,EAAE,MAAM,EAChC,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,eAAe,GAAE,MAAe,EAChC,kBAAkB,CAAC,EAAE,MAAM,EAC3B,cAAc,GAAE,MAAqC,GACpD,MAAM,CAoBR"}
@@ -19,6 +19,7 @@ import { cardsAndCodeClientScript } from './cards-and-code.js';
19
19
  import { schemaRenderingClientScript } from './schema-rendering.js';
20
20
  import { endpointDetailsClientScript } from './endpoint-details.js';
21
21
  import { initClientScript } from './init.js';
22
+ import { generatePrismBrowserBundle } from '../prism-browser-bundle.js';
22
23
  const require = createRequire(import.meta.url);
23
24
  let cachedSharedRuntimeScript = null;
24
25
  /**
@@ -63,7 +64,7 @@ export function generateClientRuntimeScript() {
63
64
  export function generateInlineRuntimeDependencyScripts() {
64
65
  return [
65
66
  inlineDependencyScript('marked', readOptionalDependency('marked/lib/marked.umd.js')),
66
- inlineDependencyScript('prism', readOptionalDependency('prismjs/prism.js')),
67
+ inlineDependencyScript('prism', generatePrismBrowserBundle()),
67
68
  ].filter(Boolean).join('\n ');
68
69
  }
69
70
  function inlineDependencyScript(name, source) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/docs/ui/client-script/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/docs/ui/client-script/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Build the browser Prism asset used by both inline and external docs UI. */
2
+ export declare function generatePrismBrowserBundle(): string;
3
+ //# sourceMappingURL=prism-browser-bundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prism-browser-bundle.d.ts","sourceRoot":"","sources":["../../../src/docs/ui/prism-browser-bundle.ts"],"names":[],"mappings":"AAgBA,8EAA8E;AAC9E,wBAAgB,0BAA0B,IAAI,MAAM,CAKnD"}
@@ -0,0 +1,36 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { createRequire } from 'node:module';
3
+ import { dirname, join } from 'node:path';
4
+ const require = createRequire(import.meta.url);
5
+ const PRISM_BROWSER_SOURCES = [
6
+ 'prismjs/prism.js',
7
+ 'prismjs/components/prism-bash.js',
8
+ 'prismjs/components/prism-typescript.js',
9
+ 'prismjs/components/prism-rust.js',
10
+ 'prismjs/components/prism-python.js',
11
+ 'prismjs/components/prism-go.js',
12
+ 'prismjs/components/prism-json.js',
13
+ ];
14
+ /** Build the browser Prism asset used by both inline and external docs UI. */
15
+ export function generatePrismBrowserBundle() {
16
+ return PRISM_BROWSER_SOURCES
17
+ .map(readOptionalDependency)
18
+ .filter(source => source.trim().length > 0)
19
+ .join('\n');
20
+ }
21
+ function readOptionalDependency(specifier) {
22
+ try {
23
+ return readFileSync(require.resolve(specifier), 'utf8');
24
+ }
25
+ catch {
26
+ try {
27
+ const [packageName, ...parts] = specifier.split('/');
28
+ const packageRoot = dirname(require.resolve(`${packageName}/package.json`));
29
+ return readFileSync(join(packageRoot, ...parts), 'utf8');
30
+ }
31
+ catch {
32
+ return '';
33
+ }
34
+ }
35
+ }
36
+ //# sourceMappingURL=prism-browser-bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prism-browser-bundle.js","sourceRoot":"","sources":["../../../src/docs/ui/prism-browser-bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEzC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAE9C,MAAM,qBAAqB,GAAG;IAC5B,kBAAkB;IAClB,kCAAkC;IAClC,wCAAwC;IACxC,kCAAkC;IAClC,oCAAoC;IACpC,gCAAgC;IAChC,kCAAkC;CACnC,CAAA;AAED,8EAA8E;AAC9E,MAAM,UAAU,0BAA0B;IACxC,OAAO,qBAAqB;SACzB,GAAG,CAAC,sBAAsB,CAAC;SAC3B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;SAC1C,IAAI,CAAC,IAAI,CAAC,CAAA;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAiB;IAC/C,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAA;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,MAAM,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACpD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,WAAW,eAAe,CAAC,CAAC,CAAA;YAC3E,OAAO,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"code-block-toolbar.d.ts","sourceRoot":"","sources":["../../../../src/docs/ui/runtime/code-block-toolbar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,KAAK,MAAM,GAAG;IACZ,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,CAAA;CACrC,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,SAAS,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;KAAE,CAAA;CACnE,CAAA;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,GAAG,EACT,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACtD,IAAI,CAmBN"}
1
+ {"version":3,"file":"code-block-toolbar.d.ts","sourceRoot":"","sources":["../../../../src/docs/ui/runtime/code-block-toolbar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAUH,KAAK,MAAM,GAAG;IACZ,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,CAAA;CACrC,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,SAAS,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;KAAE,CAAA;CACnE,CAAA;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,GAAG,EACT,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACtD,IAAI,CAuBN"}
@@ -10,6 +10,8 @@
10
10
  * Prism in the token tree's `textContent`) and shows "Copied" for ~1s.
11
11
  */
12
12
  const ENHANCED_ATTR = 'data-code-toolbar-enhanced';
13
+ const TOOLBAR_MODE_ATTR = 'data-code-toolbar';
14
+ const MANAGED_TOOLBAR_MODE = 'managed';
13
15
  const LANG_CLASS_PREFIX = 'language-';
14
16
  const COPY_LABEL = 'Copy';
15
17
  const COPIED_LABEL = 'Copied';
@@ -26,7 +28,9 @@ export function enhanceCodeBlockToolbars(root, options = {}) {
26
28
  const codes = root.querySelectorAll(`pre > code[class*="${LANG_CLASS_PREFIX}"]`);
27
29
  for (const code of Array.from(codes)) {
28
30
  const pre = code.parentElement;
29
- if (!pre || pre.getAttribute?.(ENHANCED_ATTR) === 'true')
31
+ if (!pre
32
+ || pre.getAttribute?.(ENHANCED_ATTR) === 'true'
33
+ || pre.getAttribute?.(TOOLBAR_MODE_ATTR) === MANAGED_TOOLBAR_MODE)
30
34
  continue;
31
35
  pre.setAttribute(ENHANCED_ATTR, 'true');
32
36
  if (pre.style && !pre.style.position)
@@ -1 +1 @@
1
- {"version":3,"file":"code-block-toolbar.js","sourceRoot":"","sources":["../../../../src/docs/ui/runtime/code-block-toolbar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-block-toolbar.js","sourceRoot":"","sources":["../../../../src/docs/ui/runtime/code-block-toolbar.ts"],"names":[],"mappings":"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"}
@@ -1565,6 +1565,31 @@ function buildHttpSamples(request) {
1565
1565
  samples.go = go;
1566
1566
  return samples;
1567
1567
  }
1568
+ function createSampleCopyButton(className, getText) {
1569
+ const button = doc.createElement('button');
1570
+ button.type = 'button';
1571
+ button.className = className;
1572
+ button.textContent = 'Copy';
1573
+ button.onclick = () => {
1574
+ const text = getText();
1575
+ const finish = () => {
1576
+ button.textContent = 'Copied';
1577
+ setTimeout(() => { if (button.textContent === 'Copied')
1578
+ button.textContent = 'Copy'; }, 1200);
1579
+ };
1580
+ try {
1581
+ const result = win.navigator?.clipboard?.writeText?.(text);
1582
+ if (result && typeof result.then === 'function')
1583
+ result.then(finish).catch(finish);
1584
+ else
1585
+ finish();
1586
+ }
1587
+ catch {
1588
+ finish();
1589
+ }
1590
+ };
1591
+ return button;
1592
+ }
1568
1593
  function renderCodeExamples(endpoint, data) {
1569
1594
  const samples = buildHttpSamples(buildStructuredHttpRequest(endpoint, data));
1570
1595
  const langs = [
@@ -1589,6 +1614,7 @@ function renderCodeExamples(endpoint, data) {
1589
1614
  content.className = `code-content${index === 0 ? ' active' : ''}`;
1590
1615
  const pre = doc.createElement('pre');
1591
1616
  pre.className = 'http-code-sample-pre';
1617
+ pre.setAttribute('data-code-toolbar', 'managed');
1592
1618
  const code = doc.createElement('code');
1593
1619
  code.className = `language-${language}`;
1594
1620
  code.textContent = samples[key];
@@ -1603,21 +1629,10 @@ function renderCodeExamples(endpoint, data) {
1603
1629
  tabs.appendChild(tab);
1604
1630
  contents.appendChild(content);
1605
1631
  });
1606
- const copy = doc.createElement('button');
1607
- copy.type = 'button';
1608
- copy.className = 'http-code-copy';
1609
- copy.textContent = 'Copy';
1610
- copy.onclick = () => {
1632
+ const copy = createSampleCopyButton('http-code-copy', () => {
1611
1633
  const active = contents.querySelector('.code-content.active pre');
1612
- const text = active?.textContent ?? '';
1613
- const clip = globalThis.navigator?.clipboard;
1614
- if (clip?.writeText) {
1615
- clip.writeText(text).then(() => {
1616
- copy.textContent = 'Copied';
1617
- setTimeout(() => { copy.textContent = 'Copy'; }, 1200);
1618
- });
1619
- }
1620
- };
1634
+ return active?.textContent ?? '';
1635
+ });
1621
1636
  tabs.appendChild(copy);
1622
1637
  wrap.appendChild(tabs);
1623
1638
  wrap.appendChild(contents);
@@ -1748,13 +1763,18 @@ function renderResponseSamples(responses, endpoint) {
1748
1763
  const label = doc.createElement('div');
1749
1764
  label.className = 'response-example-name';
1750
1765
  label.textContent = example.summary || example.name;
1751
- mediaBlock.appendChild(label);
1752
1766
  const pre = doc.createElement('pre');
1753
1767
  pre.className = `sample-code${example.error ? ' sample-code-error' : ''}`;
1768
+ pre.setAttribute('data-code-toolbar', 'managed');
1754
1769
  const code = doc.createElement('code');
1755
1770
  code.className = `language-${example.language || 'text'}`;
1756
1771
  code.textContent = example.value;
1757
1772
  pre.appendChild(code);
1773
+ const toolbar = doc.createElement('div');
1774
+ toolbar.className = 'response-example-toolbar';
1775
+ toolbar.appendChild(label);
1776
+ toolbar.appendChild(createSampleCopyButton('sample-code-copy', () => code.textContent ?? ''));
1777
+ mediaBlock.appendChild(toolbar);
1758
1778
  mediaBlock.appendChild(pre);
1759
1779
  });
1760
1780
  if (examples.length === 0) {