raffel 1.1.17 → 1.1.19

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 (33) hide show
  1. package/dist/docs/ui/assets/raffel-docs.css +127 -1
  2. package/dist/docs/ui/assets/raffel-docs.js +188 -1
  3. package/dist/docs/ui/client-script/index.d.ts.map +1 -1
  4. package/dist/docs/ui/client-script/index.js +1 -1
  5. package/dist/docs/ui/client-script/index.js.map +1 -1
  6. package/dist/docs/ui/html-builder.js +9 -4
  7. package/dist/docs/ui/html-builder.js.map +1 -1
  8. package/dist/docs/ui/runtime/index.js +188 -1
  9. package/dist/docs/ui/runtime/index.js.map +1 -1
  10. package/dist/docs/ui/style-sections/content.d.ts +1 -1
  11. package/dist/docs/ui/style-sections/content.d.ts.map +1 -1
  12. package/dist/docs/ui/style-sections/content.js +127 -1
  13. package/dist/docs/ui/style-sections/content.js.map +1 -1
  14. package/dist/docs/ui/types.d.ts +7 -0
  15. package/dist/docs/ui/types.d.ts.map +1 -1
  16. package/dist/http/serve.d.ts +49 -0
  17. package/dist/http/serve.d.ts.map +1 -1
  18. package/dist/http/serve.js +109 -58
  19. package/dist/http/serve.js.map +1 -1
  20. package/dist/index.d.ts +2 -0
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +2 -0
  23. package/dist/index.js.map +1 -1
  24. package/dist/ui/docs/ui/client-script/index.d.ts.map +1 -1
  25. package/dist/ui/docs/ui/style-sections/content.d.ts +1 -1
  26. package/dist/ui/docs/ui/style-sections/content.d.ts.map +1 -1
  27. package/dist/ui/docs/ui/types.d.ts +7 -0
  28. package/dist/ui/docs/ui/types.d.ts.map +1 -1
  29. package/dist/utils/peer-cert.d.ts +59 -0
  30. package/dist/utils/peer-cert.d.ts.map +1 -0
  31. package/dist/utils/peer-cert.js +20 -0
  32. package/dist/utils/peer-cert.js.map +1 -0
  33. package/package.json +1 -1
@@ -1728,15 +1728,67 @@
1728
1728
  }
1729
1729
 
1730
1730
  .markdown-content .mermaid {
1731
+ position: relative;
1731
1732
  margin: 16px 0;
1732
1733
  padding: 16px;
1733
1734
  border: 1px solid var(--border);
1734
1735
  border-radius: 6px;
1735
1736
  background: var(--bg-primary);
1736
- overflow-x: auto;
1737
+ overflow: hidden;
1737
1738
  text-align: center;
1738
1739
  }
1739
1740
 
1741
+ /* Viewport — clips the scaled SVG so it doesn't overflow the card. */
1742
+ .markdown-content .mermaid .mermaid-viewport {
1743
+ position: relative;
1744
+ overflow: hidden;
1745
+ user-select: none;
1746
+ -webkit-user-select: none;
1747
+ }
1748
+
1749
+ /* Toolbar — appears in the top-right corner, fades in on hover. */
1750
+ .markdown-content .mermaid .mermaid-toolbar {
1751
+ position: absolute;
1752
+ top: 10px;
1753
+ right: 10px;
1754
+ display: flex;
1755
+ gap: 4px;
1756
+ padding: 4px;
1757
+ background: var(--bg-secondary);
1758
+ border: 1px solid var(--border);
1759
+ border-radius: 6px;
1760
+ opacity: 0;
1761
+ transition: opacity 0.18s ease;
1762
+ z-index: 2;
1763
+ }
1764
+ .markdown-content .mermaid:hover .mermaid-toolbar,
1765
+ .markdown-content .mermaid:focus-within .mermaid-toolbar { opacity: 1; }
1766
+
1767
+ .markdown-content .mermaid .mermaid-btn {
1768
+ width: 28px;
1769
+ height: 28px;
1770
+ display: inline-flex;
1771
+ align-items: center;
1772
+ justify-content: center;
1773
+ background: transparent;
1774
+ color: var(--text-secondary);
1775
+ border: 0;
1776
+ border-radius: 4px;
1777
+ cursor: pointer;
1778
+ font-family: ui-sans-serif, system-ui, sans-serif;
1779
+ font-size: 14px;
1780
+ line-height: 1;
1781
+ transition: background 0.15s ease, color 0.15s ease;
1782
+ }
1783
+ .markdown-content .mermaid .mermaid-btn:hover {
1784
+ background: var(--hover-bg);
1785
+ color: var(--text-primary);
1786
+ }
1787
+ .markdown-content .mermaid .mermaid-btn:focus-visible {
1788
+ outline: 2px solid var(--primary-color);
1789
+ outline-offset: 1px;
1790
+ }
1791
+
1740
1792
  .markdown-content .mermaid-fallback,
1741
1793
  .markdown-content .mermaid-error {
1742
1794
  text-align: left;
@@ -1750,6 +1802,80 @@
1750
1802
  border-left: 4px solid #d97706;
1751
1803
  }
1752
1804
 
1805
+ /* Fullscreen dialog — opened by the toolbar fullscreen button. */
1806
+ dialog.mermaid-fullscreen-dialog {
1807
+ width: 100vw;
1808
+ height: 100vh;
1809
+ max-width: 100vw;
1810
+ max-height: 100vh;
1811
+ margin: 0;
1812
+ padding: 0;
1813
+ border: 0;
1814
+ background: var(--bg-color);
1815
+ color: var(--text-primary);
1816
+ overflow: hidden;
1817
+ }
1818
+ dialog.mermaid-fullscreen-dialog::backdrop {
1819
+ background: rgba(0, 0, 0, 0.85);
1820
+ backdrop-filter: blur(6px);
1821
+ -webkit-backdrop-filter: blur(6px);
1822
+ }
1823
+ dialog.mermaid-fullscreen-dialog .mermaid-fullscreen-stage {
1824
+ width: 100vw;
1825
+ height: 100vh;
1826
+ display: flex;
1827
+ align-items: center;
1828
+ justify-content: center;
1829
+ overflow: hidden;
1830
+ user-select: none;
1831
+ -webkit-user-select: none;
1832
+ }
1833
+ dialog.mermaid-fullscreen-dialog .mermaid-fullscreen-stage svg {
1834
+ max-width: 92vw;
1835
+ max-height: 84vh;
1836
+ width: auto;
1837
+ height: auto;
1838
+ transition: transform 0.18s cubic-bezier(0.16, 1, 0.3, 1);
1839
+ }
1840
+ dialog.mermaid-fullscreen-dialog .mermaid-toolbar-fullscreen {
1841
+ position: fixed;
1842
+ top: 20px;
1843
+ left: 50%;
1844
+ transform: translateX(-50%);
1845
+ z-index: 3;
1846
+ background: var(--bg-secondary);
1847
+ border: 1px solid var(--border);
1848
+ border-radius: 8px;
1849
+ padding: 6px;
1850
+ display: flex;
1851
+ gap: 4px;
1852
+ opacity: 1;
1853
+ }
1854
+ dialog.mermaid-fullscreen-close {
1855
+ position: fixed;
1856
+ top: 20px;
1857
+ right: 24px;
1858
+ width: 36px;
1859
+ height: 36px;
1860
+ display: inline-flex;
1861
+ align-items: center;
1862
+ justify-content: center;
1863
+ background: var(--bg-secondary);
1864
+ color: var(--text-primary);
1865
+ border: 1px solid var(--border);
1866
+ border-radius: 50%;
1867
+ cursor: pointer;
1868
+ font-size: 16px;
1869
+ line-height: 1;
1870
+ z-index: 3;
1871
+ transition: background 0.15s ease;
1872
+ }
1873
+ dialog.mermaid-fullscreen-close:hover { background: var(--hover-bg); }
1874
+ dialog.mermaid-fullscreen-close:focus-visible {
1875
+ outline: 2px solid var(--primary-color);
1876
+ outline-offset: 2px;
1877
+ }
1878
+
1753
1879
  .markdown-content .md-image {
1754
1880
  display: block;
1755
1881
  max-width: 100%;
@@ -31,7 +31,7 @@ const docsAssetBasePath = String(data.docsAssetBasePath ?? '');
31
31
  const footerMarkdown = data.footerMarkdown ?? null;
32
32
  const tocConfig = data.tocConfig ?? {};
33
33
  const markdownConfig = data.markdownConfig ?? {};
34
- const mermaidConfig = data.mermaidConfig ?? { enabled: true, src: 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js' };
34
+ const mermaidConfig = data.mermaidConfig ?? { enabled: true, src: 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js', viewer: true };
35
35
  let mermaidLoadPromise = null;
36
36
  const docsRepoConfig = (data.docsRepoConfig ?? null);
37
37
  const breadcrumbsConfig = (data.breadcrumbsConfig && typeof data.breadcrumbsConfig === 'object')
@@ -1548,6 +1548,8 @@ async function renderMermaidDiagrams(root = doc) {
1548
1548
  result?.bindFunctions?.(diagram);
1549
1549
  diagram.dataset.mermaidRendered = 'true';
1550
1550
  diagram.classList.remove('mermaid-fallback', 'mermaid-error');
1551
+ if (mermaidConfig.viewer !== false)
1552
+ mountMermaidViewer(diagram);
1551
1553
  })
1552
1554
  .catch((error) => {
1553
1555
  diagram.dataset.mermaidRendered = 'error';
@@ -1556,6 +1558,191 @@ async function renderMermaidDiagrams(root = doc) {
1556
1558
  });
1557
1559
  });
1558
1560
  }
1561
+ /**
1562
+ * Wrap a freshly rendered Mermaid SVG in a viewer overlay:
1563
+ * • toolbar (zoom in/out/reset/fullscreen) — fades in on hover
1564
+ * • drag-to-pan when zoomed in (scale > 1)
1565
+ * • wheel-zoom with Ctrl/⌘ pressed (so vertical scroll still works normally)
1566
+ * • fullscreen via <dialog>, with same controls
1567
+ *
1568
+ * Idempotent: skips diagrams already wrapped (data-mermaid-viewer-mounted).
1569
+ */
1570
+ function mountMermaidViewer(diagram) {
1571
+ if (diagram.dataset.mermaidViewerMounted)
1572
+ return;
1573
+ const svg = diagram.querySelector?.('svg');
1574
+ if (!svg)
1575
+ return;
1576
+ const viewport = doc.createElement('div');
1577
+ viewport.className = 'mermaid-viewport';
1578
+ diagram.insertBefore(viewport, svg);
1579
+ viewport.appendChild(svg);
1580
+ const toolbar = doc.createElement('div');
1581
+ toolbar.className = 'mermaid-toolbar';
1582
+ toolbar.innerHTML = [
1583
+ '<button class="mermaid-btn" data-mermaid-action="zoom-in" aria-label="Zoom in" title="Zoom in">+</button>',
1584
+ '<button class="mermaid-btn" data-mermaid-action="zoom-out" aria-label="Zoom out" title="Zoom out">−</button>',
1585
+ '<button class="mermaid-btn" data-mermaid-action="reset" aria-label="Reset view" title="Reset view">⟲</button>',
1586
+ '<button class="mermaid-btn" data-mermaid-action="fullscreen" aria-label="Open fullscreen" title="Fullscreen">⛶</button>',
1587
+ ].join('');
1588
+ diagram.appendChild(toolbar);
1589
+ const state = { scale: 1, tx: 0, ty: 0 };
1590
+ function apply() {
1591
+ svg.style.transform = `translate(${state.tx}px, ${state.ty}px) scale(${state.scale})`;
1592
+ svg.style.transformOrigin = 'center center';
1593
+ svg.style.transition = 'transform 0.18s cubic-bezier(0.16, 1, 0.3, 1)';
1594
+ viewport.style.cursor = state.scale > 1 ? 'grab' : '';
1595
+ }
1596
+ function reset() { state.scale = 1; state.tx = 0; state.ty = 0; apply(); }
1597
+ function zoomBy(factor) {
1598
+ state.scale = Math.max(0.5, Math.min(state.scale * factor, 8));
1599
+ if (state.scale === 1) {
1600
+ state.tx = 0;
1601
+ state.ty = 0;
1602
+ }
1603
+ apply();
1604
+ }
1605
+ toolbar.addEventListener('click', (ev) => {
1606
+ const action = ev.target?.dataset?.mermaidAction;
1607
+ if (action === 'zoom-in')
1608
+ zoomBy(1.25);
1609
+ else if (action === 'zoom-out')
1610
+ zoomBy(1 / 1.25);
1611
+ else if (action === 'reset')
1612
+ reset();
1613
+ else if (action === 'fullscreen')
1614
+ openMermaidFullscreen(svg.cloneNode(true));
1615
+ });
1616
+ let panning = false;
1617
+ let panStartX = 0;
1618
+ let panStartY = 0;
1619
+ let panStartTx = 0;
1620
+ let panStartTy = 0;
1621
+ viewport.addEventListener('mousedown', (ev) => {
1622
+ if (ev.button !== 0 || state.scale <= 1)
1623
+ return;
1624
+ panning = true;
1625
+ panStartX = ev.clientX;
1626
+ panStartY = ev.clientY;
1627
+ panStartTx = state.tx;
1628
+ panStartTy = state.ty;
1629
+ viewport.style.cursor = 'grabbing';
1630
+ ev.preventDefault();
1631
+ });
1632
+ doc.addEventListener('mousemove', (ev) => {
1633
+ if (!panning)
1634
+ return;
1635
+ state.tx = panStartTx + (ev.clientX - panStartX);
1636
+ state.ty = panStartTy + (ev.clientY - panStartY);
1637
+ svg.style.transform = `translate(${state.tx}px, ${state.ty}px) scale(${state.scale})`;
1638
+ });
1639
+ doc.addEventListener('mouseup', () => {
1640
+ if (!panning)
1641
+ return;
1642
+ panning = false;
1643
+ viewport.style.cursor = state.scale > 1 ? 'grab' : '';
1644
+ });
1645
+ viewport.addEventListener('wheel', (ev) => {
1646
+ if (!ev.ctrlKey && !ev.metaKey)
1647
+ return;
1648
+ ev.preventDefault();
1649
+ zoomBy(ev.deltaY < 0 ? 1.1 : 1 / 1.1);
1650
+ });
1651
+ diagram.dataset.mermaidViewerMounted = 'true';
1652
+ }
1653
+ function openMermaidFullscreen(svg) {
1654
+ const dialog = doc.createElement('dialog');
1655
+ dialog.className = 'mermaid-fullscreen-dialog';
1656
+ const close = doc.createElement('button');
1657
+ close.className = 'mermaid-fullscreen-close';
1658
+ close.setAttribute('aria-label', 'Close');
1659
+ close.textContent = '✕';
1660
+ close.addEventListener('click', () => dialog.close());
1661
+ const stage = doc.createElement('div');
1662
+ stage.className = 'mermaid-fullscreen-stage';
1663
+ svg.removeAttribute('style');
1664
+ stage.appendChild(svg);
1665
+ const fsState = { scale: 1, tx: 0, ty: 0 };
1666
+ function fsApply() {
1667
+ svg.style.transform = `translate(${fsState.tx}px, ${fsState.ty}px) scale(${fsState.scale})`;
1668
+ svg.style.transformOrigin = 'center center';
1669
+ stage.style.cursor = fsState.scale > 1 ? 'grab' : '';
1670
+ }
1671
+ function fsZoom(factor) {
1672
+ fsState.scale = Math.max(0.5, Math.min(fsState.scale * factor, 8));
1673
+ if (fsState.scale === 1) {
1674
+ fsState.tx = 0;
1675
+ fsState.ty = 0;
1676
+ }
1677
+ fsApply();
1678
+ }
1679
+ const toolbar = doc.createElement('div');
1680
+ toolbar.className = 'mermaid-toolbar mermaid-toolbar-fullscreen';
1681
+ toolbar.innerHTML = [
1682
+ '<button class="mermaid-btn" data-mermaid-action="zoom-in" aria-label="Zoom in" title="Zoom in">+</button>',
1683
+ '<button class="mermaid-btn" data-mermaid-action="zoom-out" aria-label="Zoom out" title="Zoom out">−</button>',
1684
+ '<button class="mermaid-btn" data-mermaid-action="reset" aria-label="Reset view" title="Reset view">⟲</button>',
1685
+ ].join('');
1686
+ toolbar.addEventListener('click', (ev) => {
1687
+ const action = ev.target?.dataset?.mermaidAction;
1688
+ if (action === 'zoom-in')
1689
+ fsZoom(1.25);
1690
+ else if (action === 'zoom-out')
1691
+ fsZoom(1 / 1.25);
1692
+ else if (action === 'reset') {
1693
+ fsState.scale = 1;
1694
+ fsState.tx = 0;
1695
+ fsState.ty = 0;
1696
+ fsApply();
1697
+ }
1698
+ });
1699
+ let fsPan = false;
1700
+ let fsStartX = 0;
1701
+ let fsStartY = 0;
1702
+ let fsStartTx = 0;
1703
+ let fsStartTy = 0;
1704
+ stage.addEventListener('mousedown', (ev) => {
1705
+ if (ev.button !== 0 || fsState.scale <= 1)
1706
+ return;
1707
+ fsPan = true;
1708
+ fsStartX = ev.clientX;
1709
+ fsStartY = ev.clientY;
1710
+ fsStartTx = fsState.tx;
1711
+ fsStartTy = fsState.ty;
1712
+ stage.style.cursor = 'grabbing';
1713
+ ev.preventDefault();
1714
+ });
1715
+ doc.addEventListener('mousemove', (ev) => {
1716
+ if (!fsPan)
1717
+ return;
1718
+ fsState.tx = fsStartTx + (ev.clientX - fsStartX);
1719
+ fsState.ty = fsStartTy + (ev.clientY - fsStartY);
1720
+ fsApply();
1721
+ });
1722
+ doc.addEventListener('mouseup', () => {
1723
+ if (!fsPan)
1724
+ return;
1725
+ fsPan = false;
1726
+ stage.style.cursor = fsState.scale > 1 ? 'grab' : '';
1727
+ });
1728
+ stage.addEventListener('wheel', (ev) => {
1729
+ ev.preventDefault();
1730
+ fsZoom(ev.deltaY < 0 ? 1.1 : 1 / 1.1);
1731
+ });
1732
+ dialog.appendChild(close);
1733
+ dialog.appendChild(toolbar);
1734
+ dialog.appendChild(stage);
1735
+ doc.body.appendChild(dialog);
1736
+ dialog.addEventListener('close', () => { try {
1737
+ doc.body.removeChild(dialog);
1738
+ }
1739
+ catch { } });
1740
+ dialog.addEventListener('keydown', (ev) => {
1741
+ if (ev.key === 'Escape')
1742
+ dialog.close();
1743
+ });
1744
+ dialog.showModal?.();
1745
+ }
1559
1746
  function parseComponentProps(raw) {
1560
1747
  const source = String(raw ?? '').trim();
1561
1748
  if (!source)
@@ -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,MAA+F,GAC9G,MAAM,CAsBR;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAIpD;AAED,wBAAgB,sCAAsC,IAAI,MAAM,CAK/D;AAwKD;;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;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,GAC5H,MAAM,CAsBR;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAIpD;AAED,wBAAgB,sCAAsC,IAAI,MAAM,CAK/D;AAwKD;;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"}
@@ -24,7 +24,7 @@ let cachedSharedRuntimeScript = null;
24
24
  /**
25
25
  * Generate the per-document data bootstrap.
26
26
  */
27
- export function generateClientDataScript(escapedSpec, escapedTagGroups, escapedHero, escapedSidebar, escapedIntroduction, escapedDocsPages, escapedDocsAliases, escapedSearchIndex, escapedDocsSidebar, escapedDocsAssetBasePath, escapedFooter, escapedToc, escapedMarkdown, escapedDocsRepo = 'null', escapedBreadcrumbs = '{"enabled":true,"hideOnHome":true}', escapedPageNav = '{"enabled":true,"hide":[]}', escapedMermaid = '{"enabled":true,"src":"https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"}') {
27
+ export function generateClientDataScript(escapedSpec, escapedTagGroups, escapedHero, escapedSidebar, escapedIntroduction, escapedDocsPages, escapedDocsAliases, escapedSearchIndex, escapedDocsSidebar, escapedDocsAssetBasePath, escapedFooter, escapedToc, escapedMarkdown, escapedDocsRepo = 'null', escapedBreadcrumbs = '{"enabled":true,"hideOnHome":true}', escapedPageNav = '{"enabled":true,"hide":[]}', escapedMermaid = '{"enabled":true,"src":"https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js","viewer":true}') {
28
28
  return `
29
29
  window.__RAFFEL_DOCS__ = {
30
30
  spec: ${escapedSpec},
@@ -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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"}
@@ -206,10 +206,15 @@ const DEFAULT_MERMAID_CDN_SRC = 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/me
206
206
  */
207
207
  function normalizeMermaidConfig(option) {
208
208
  if (option === false)
209
- return { enabled: false, src: '' };
210
- if (option && typeof option === 'object' && 'src' in option && typeof option.src === 'string') {
211
- return { enabled: true, src: option.src };
209
+ return { enabled: false, src: '', viewer: false };
210
+ if (option && typeof option === 'object') {
211
+ const obj = option;
212
+ return {
213
+ enabled: true,
214
+ src: typeof obj.src === 'string' && obj.src ? obj.src : DEFAULT_MERMAID_CDN_SRC,
215
+ viewer: obj.viewer !== false,
216
+ };
212
217
  }
213
- return { enabled: true, src: DEFAULT_MERMAID_CDN_SRC };
218
+ return { enabled: true, src: DEFAULT_MERMAID_CDN_SRC, viewer: true };
214
219
  }
215
220
  //# sourceMappingURL=html-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"html-builder.js","sourceRoot":"","sources":["../../../src/docs/ui/html-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"html-builder.js","sourceRoot":"","sources":["../../../src/docs/ui/html-builder.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ const docsAssetBasePath = String(data.docsAssetBasePath ?? '');
31
31
  const footerMarkdown = data.footerMarkdown ?? null;
32
32
  const tocConfig = data.tocConfig ?? {};
33
33
  const markdownConfig = data.markdownConfig ?? {};
34
- const mermaidConfig = data.mermaidConfig ?? { enabled: true, src: 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js' };
34
+ const mermaidConfig = data.mermaidConfig ?? { enabled: true, src: 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js', viewer: true };
35
35
  let mermaidLoadPromise = null;
36
36
  const docsRepoConfig = (data.docsRepoConfig ?? null);
37
37
  const breadcrumbsConfig = (data.breadcrumbsConfig && typeof data.breadcrumbsConfig === 'object')
@@ -1548,6 +1548,8 @@ async function renderMermaidDiagrams(root = doc) {
1548
1548
  result?.bindFunctions?.(diagram);
1549
1549
  diagram.dataset.mermaidRendered = 'true';
1550
1550
  diagram.classList.remove('mermaid-fallback', 'mermaid-error');
1551
+ if (mermaidConfig.viewer !== false)
1552
+ mountMermaidViewer(diagram);
1551
1553
  })
1552
1554
  .catch((error) => {
1553
1555
  diagram.dataset.mermaidRendered = 'error';
@@ -1556,6 +1558,191 @@ async function renderMermaidDiagrams(root = doc) {
1556
1558
  });
1557
1559
  });
1558
1560
  }
1561
+ /**
1562
+ * Wrap a freshly rendered Mermaid SVG in a viewer overlay:
1563
+ * • toolbar (zoom in/out/reset/fullscreen) — fades in on hover
1564
+ * • drag-to-pan when zoomed in (scale > 1)
1565
+ * • wheel-zoom with Ctrl/⌘ pressed (so vertical scroll still works normally)
1566
+ * • fullscreen via <dialog>, with same controls
1567
+ *
1568
+ * Idempotent: skips diagrams already wrapped (data-mermaid-viewer-mounted).
1569
+ */
1570
+ function mountMermaidViewer(diagram) {
1571
+ if (diagram.dataset.mermaidViewerMounted)
1572
+ return;
1573
+ const svg = diagram.querySelector?.('svg');
1574
+ if (!svg)
1575
+ return;
1576
+ const viewport = doc.createElement('div');
1577
+ viewport.className = 'mermaid-viewport';
1578
+ diagram.insertBefore(viewport, svg);
1579
+ viewport.appendChild(svg);
1580
+ const toolbar = doc.createElement('div');
1581
+ toolbar.className = 'mermaid-toolbar';
1582
+ toolbar.innerHTML = [
1583
+ '<button class="mermaid-btn" data-mermaid-action="zoom-in" aria-label="Zoom in" title="Zoom in">+</button>',
1584
+ '<button class="mermaid-btn" data-mermaid-action="zoom-out" aria-label="Zoom out" title="Zoom out">−</button>',
1585
+ '<button class="mermaid-btn" data-mermaid-action="reset" aria-label="Reset view" title="Reset view">⟲</button>',
1586
+ '<button class="mermaid-btn" data-mermaid-action="fullscreen" aria-label="Open fullscreen" title="Fullscreen">⛶</button>',
1587
+ ].join('');
1588
+ diagram.appendChild(toolbar);
1589
+ const state = { scale: 1, tx: 0, ty: 0 };
1590
+ function apply() {
1591
+ svg.style.transform = `translate(${state.tx}px, ${state.ty}px) scale(${state.scale})`;
1592
+ svg.style.transformOrigin = 'center center';
1593
+ svg.style.transition = 'transform 0.18s cubic-bezier(0.16, 1, 0.3, 1)';
1594
+ viewport.style.cursor = state.scale > 1 ? 'grab' : '';
1595
+ }
1596
+ function reset() { state.scale = 1; state.tx = 0; state.ty = 0; apply(); }
1597
+ function zoomBy(factor) {
1598
+ state.scale = Math.max(0.5, Math.min(state.scale * factor, 8));
1599
+ if (state.scale === 1) {
1600
+ state.tx = 0;
1601
+ state.ty = 0;
1602
+ }
1603
+ apply();
1604
+ }
1605
+ toolbar.addEventListener('click', (ev) => {
1606
+ const action = ev.target?.dataset?.mermaidAction;
1607
+ if (action === 'zoom-in')
1608
+ zoomBy(1.25);
1609
+ else if (action === 'zoom-out')
1610
+ zoomBy(1 / 1.25);
1611
+ else if (action === 'reset')
1612
+ reset();
1613
+ else if (action === 'fullscreen')
1614
+ openMermaidFullscreen(svg.cloneNode(true));
1615
+ });
1616
+ let panning = false;
1617
+ let panStartX = 0;
1618
+ let panStartY = 0;
1619
+ let panStartTx = 0;
1620
+ let panStartTy = 0;
1621
+ viewport.addEventListener('mousedown', (ev) => {
1622
+ if (ev.button !== 0 || state.scale <= 1)
1623
+ return;
1624
+ panning = true;
1625
+ panStartX = ev.clientX;
1626
+ panStartY = ev.clientY;
1627
+ panStartTx = state.tx;
1628
+ panStartTy = state.ty;
1629
+ viewport.style.cursor = 'grabbing';
1630
+ ev.preventDefault();
1631
+ });
1632
+ doc.addEventListener('mousemove', (ev) => {
1633
+ if (!panning)
1634
+ return;
1635
+ state.tx = panStartTx + (ev.clientX - panStartX);
1636
+ state.ty = panStartTy + (ev.clientY - panStartY);
1637
+ svg.style.transform = `translate(${state.tx}px, ${state.ty}px) scale(${state.scale})`;
1638
+ });
1639
+ doc.addEventListener('mouseup', () => {
1640
+ if (!panning)
1641
+ return;
1642
+ panning = false;
1643
+ viewport.style.cursor = state.scale > 1 ? 'grab' : '';
1644
+ });
1645
+ viewport.addEventListener('wheel', (ev) => {
1646
+ if (!ev.ctrlKey && !ev.metaKey)
1647
+ return;
1648
+ ev.preventDefault();
1649
+ zoomBy(ev.deltaY < 0 ? 1.1 : 1 / 1.1);
1650
+ });
1651
+ diagram.dataset.mermaidViewerMounted = 'true';
1652
+ }
1653
+ function openMermaidFullscreen(svg) {
1654
+ const dialog = doc.createElement('dialog');
1655
+ dialog.className = 'mermaid-fullscreen-dialog';
1656
+ const close = doc.createElement('button');
1657
+ close.className = 'mermaid-fullscreen-close';
1658
+ close.setAttribute('aria-label', 'Close');
1659
+ close.textContent = '✕';
1660
+ close.addEventListener('click', () => dialog.close());
1661
+ const stage = doc.createElement('div');
1662
+ stage.className = 'mermaid-fullscreen-stage';
1663
+ svg.removeAttribute('style');
1664
+ stage.appendChild(svg);
1665
+ const fsState = { scale: 1, tx: 0, ty: 0 };
1666
+ function fsApply() {
1667
+ svg.style.transform = `translate(${fsState.tx}px, ${fsState.ty}px) scale(${fsState.scale})`;
1668
+ svg.style.transformOrigin = 'center center';
1669
+ stage.style.cursor = fsState.scale > 1 ? 'grab' : '';
1670
+ }
1671
+ function fsZoom(factor) {
1672
+ fsState.scale = Math.max(0.5, Math.min(fsState.scale * factor, 8));
1673
+ if (fsState.scale === 1) {
1674
+ fsState.tx = 0;
1675
+ fsState.ty = 0;
1676
+ }
1677
+ fsApply();
1678
+ }
1679
+ const toolbar = doc.createElement('div');
1680
+ toolbar.className = 'mermaid-toolbar mermaid-toolbar-fullscreen';
1681
+ toolbar.innerHTML = [
1682
+ '<button class="mermaid-btn" data-mermaid-action="zoom-in" aria-label="Zoom in" title="Zoom in">+</button>',
1683
+ '<button class="mermaid-btn" data-mermaid-action="zoom-out" aria-label="Zoom out" title="Zoom out">−</button>',
1684
+ '<button class="mermaid-btn" data-mermaid-action="reset" aria-label="Reset view" title="Reset view">⟲</button>',
1685
+ ].join('');
1686
+ toolbar.addEventListener('click', (ev) => {
1687
+ const action = ev.target?.dataset?.mermaidAction;
1688
+ if (action === 'zoom-in')
1689
+ fsZoom(1.25);
1690
+ else if (action === 'zoom-out')
1691
+ fsZoom(1 / 1.25);
1692
+ else if (action === 'reset') {
1693
+ fsState.scale = 1;
1694
+ fsState.tx = 0;
1695
+ fsState.ty = 0;
1696
+ fsApply();
1697
+ }
1698
+ });
1699
+ let fsPan = false;
1700
+ let fsStartX = 0;
1701
+ let fsStartY = 0;
1702
+ let fsStartTx = 0;
1703
+ let fsStartTy = 0;
1704
+ stage.addEventListener('mousedown', (ev) => {
1705
+ if (ev.button !== 0 || fsState.scale <= 1)
1706
+ return;
1707
+ fsPan = true;
1708
+ fsStartX = ev.clientX;
1709
+ fsStartY = ev.clientY;
1710
+ fsStartTx = fsState.tx;
1711
+ fsStartTy = fsState.ty;
1712
+ stage.style.cursor = 'grabbing';
1713
+ ev.preventDefault();
1714
+ });
1715
+ doc.addEventListener('mousemove', (ev) => {
1716
+ if (!fsPan)
1717
+ return;
1718
+ fsState.tx = fsStartTx + (ev.clientX - fsStartX);
1719
+ fsState.ty = fsStartTy + (ev.clientY - fsStartY);
1720
+ fsApply();
1721
+ });
1722
+ doc.addEventListener('mouseup', () => {
1723
+ if (!fsPan)
1724
+ return;
1725
+ fsPan = false;
1726
+ stage.style.cursor = fsState.scale > 1 ? 'grab' : '';
1727
+ });
1728
+ stage.addEventListener('wheel', (ev) => {
1729
+ ev.preventDefault();
1730
+ fsZoom(ev.deltaY < 0 ? 1.1 : 1 / 1.1);
1731
+ });
1732
+ dialog.appendChild(close);
1733
+ dialog.appendChild(toolbar);
1734
+ dialog.appendChild(stage);
1735
+ doc.body.appendChild(dialog);
1736
+ dialog.addEventListener('close', () => { try {
1737
+ doc.body.removeChild(dialog);
1738
+ }
1739
+ catch { } });
1740
+ dialog.addEventListener('keydown', (ev) => {
1741
+ if (ev.key === 'Escape')
1742
+ dialog.close();
1743
+ });
1744
+ dialog.showModal?.();
1745
+ }
1559
1746
  function parseComponentProps(raw) {
1560
1747
  const source = String(raw ?? '').trim();
1561
1748
  if (!source)