raffel 1.1.16 → 1.1.18

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 (29) hide show
  1. package/dist/docs/ui/assets/raffel-docs.css +192 -1
  2. package/dist/docs/ui/assets/raffel-docs.js +229 -3
  3. package/dist/docs/ui/client-script/index.d.ts +1 -1
  4. package/dist/docs/ui/client-script/index.d.ts.map +1 -1
  5. package/dist/docs/ui/client-script/index.js +3 -2
  6. package/dist/docs/ui/client-script/index.js.map +1 -1
  7. package/dist/docs/ui/html-builder.d.ts.map +1 -1
  8. package/dist/docs/ui/html-builder.js +26 -1
  9. package/dist/docs/ui/html-builder.js.map +1 -1
  10. package/dist/docs/ui/runtime/index.js +229 -3
  11. package/dist/docs/ui/runtime/index.js.map +1 -1
  12. package/dist/docs/ui/style-sections/content.d.ts +1 -1
  13. package/dist/docs/ui/style-sections/content.d.ts.map +1 -1
  14. package/dist/docs/ui/style-sections/content.js +162 -1
  15. package/dist/docs/ui/style-sections/content.js.map +1 -1
  16. package/dist/docs/ui/style-sections/shell.d.ts.map +1 -1
  17. package/dist/docs/ui/style-sections/shell.js +30 -0
  18. package/dist/docs/ui/style-sections/shell.js.map +1 -1
  19. package/dist/docs/ui/types.d.ts +25 -0
  20. package/dist/docs/ui/types.d.ts.map +1 -1
  21. package/dist/ui/docs/ui/client-script/index.d.ts +1 -1
  22. package/dist/ui/docs/ui/client-script/index.d.ts.map +1 -1
  23. package/dist/ui/docs/ui/html-builder.d.ts.map +1 -1
  24. package/dist/ui/docs/ui/style-sections/content.d.ts +1 -1
  25. package/dist/ui/docs/ui/style-sections/content.d.ts.map +1 -1
  26. package/dist/ui/docs/ui/style-sections/shell.d.ts.map +1 -1
  27. package/dist/ui/docs/ui/types.d.ts +25 -0
  28. package/dist/ui/docs/ui/types.d.ts.map +1 -1
  29. package/package.json +1 -1
@@ -53,6 +53,16 @@
53
53
  --hover-bg: rgba(99, 102, 241, 0.15);
54
54
  }
55
55
 
56
+ /*
57
+ * theme: 'custom' — user-controlled palette via the --raffel-* token set.
58
+ *
59
+ * Fallbacks here are the LIGHT defaults. They only kick in when the user
60
+ * sets theme: 'custom' and does NOT define the corresponding --raffel-*
61
+ * token in their customCss. The matching prefers-color-scheme: dark
62
+ * block below mirrors theme: 'auto' so a dark-mode visitor never lands
63
+ * on a half-styled light surface; together they make 'custom' default
64
+ * to system preference until the consumer takes full control.
65
+ */
56
66
  [data-theme="custom"] {
57
67
  --primary-color: var(--raffel-primary-color, #6366f1);
58
68
  --primary-hover: var(--raffel-primary-hover, #5457e2);
@@ -76,6 +86,26 @@
76
86
  --code-panel-header: var(--raffel-code-panel-header, #37474f);
77
87
  }
78
88
 
89
+ @media (prefers-color-scheme: dark) {
90
+ [data-theme="custom"] {
91
+ --bg-color: var(--raffel-bg-color, #0f172a);
92
+ --bg-primary: var(--raffel-bg-primary, var(--raffel-bg-color, #0f172a));
93
+ --bg-secondary: var(--raffel-bg-secondary, #111c33);
94
+ --bg-tertiary: var(--raffel-bg-tertiary, #1e293b);
95
+ --surface-color: var(--raffel-surface-color, #111c33);
96
+ --text-color: var(--raffel-text-color, #f1f5f9);
97
+ --text-primary: var(--raffel-text-primary, var(--raffel-text-color, #f1f5f9));
98
+ --text-secondary: var(--raffel-text-secondary, #cbd5e1);
99
+ --text-muted: var(--raffel-text-muted, #94a3b8);
100
+ --border-color: var(--raffel-border-color, #475569);
101
+ --border: var(--raffel-border, var(--raffel-border-color, #475569));
102
+ --accent: var(--raffel-accent, var(--raffel-primary-color, #6366f1));
103
+ --code-bg: var(--raffel-code-bg, #1e293b);
104
+ --sidebar-bg: var(--raffel-sidebar-bg, #1e293b);
105
+ --hover-bg: var(--raffel-hover-bg, rgba(99, 102, 241, 0.15));
106
+ }
107
+ }
108
+
79
109
  @media (prefers-color-scheme: dark) {
80
110
  [data-theme="auto"] {
81
111
  --bg-color: #0f172a;
@@ -1662,16 +1692,103 @@
1662
1692
  color: #c4b5fd;
1663
1693
  }
1664
1694
 
1695
+ /*
1696
+ * Prism dark tokens also apply to theme: 'custom' under prefers-color-scheme
1697
+ * dark, mirroring the shell.ts default-token logic. Without this block,
1698
+ * consumers using customCss on a dark body inherit the light-mode token
1699
+ * colors (orange/green over dark, hard to scan) and have to rewrite all
1700
+ * 8 token classes themselves.
1701
+ */
1702
+ @media (prefers-color-scheme: dark) {
1703
+ [data-theme="custom"] .markdown-content .token.property,
1704
+ [data-theme="custom"] .markdown-content .token.tag,
1705
+ [data-theme="custom"] .markdown-content .token.boolean,
1706
+ [data-theme="custom"] .markdown-content .token.number,
1707
+ [data-theme="custom"] .markdown-content .token.constant,
1708
+ [data-theme="custom"] .markdown-content .token.symbol {
1709
+ color: #fcd34d;
1710
+ }
1711
+
1712
+ [data-theme="custom"] .markdown-content .token.selector,
1713
+ [data-theme="custom"] .markdown-content .token.attr-name,
1714
+ [data-theme="custom"] .markdown-content .token.string,
1715
+ [data-theme="custom"] .markdown-content .token.char,
1716
+ [data-theme="custom"] .markdown-content .token.builtin {
1717
+ color: #86efac;
1718
+ }
1719
+
1720
+ [data-theme="custom"] .markdown-content .token.function,
1721
+ [data-theme="custom"] .markdown-content .token.class-name {
1722
+ color: #93c5fd;
1723
+ }
1724
+
1725
+ [data-theme="custom"] .markdown-content .token.keyword {
1726
+ color: #c4b5fd;
1727
+ }
1728
+ }
1729
+
1665
1730
  .markdown-content .mermaid {
1731
+ position: relative;
1666
1732
  margin: 16px 0;
1667
1733
  padding: 16px;
1668
1734
  border: 1px solid var(--border);
1669
1735
  border-radius: 6px;
1670
1736
  background: var(--bg-primary);
1671
- overflow-x: auto;
1737
+ overflow: hidden;
1672
1738
  text-align: center;
1673
1739
  }
1674
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
+
1675
1792
  .markdown-content .mermaid-fallback,
1676
1793
  .markdown-content .mermaid-error {
1677
1794
  text-align: left;
@@ -1685,6 +1802,80 @@
1685
1802
  border-left: 4px solid #d97706;
1686
1803
  }
1687
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
+
1688
1879
  .markdown-content .md-image {
1689
1880
  display: block;
1690
1881
  max-width: 100%;
@@ -31,6 +31,8 @@ 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', viewer: true };
35
+ let mermaidLoadPromise = null;
34
36
  const docsRepoConfig = (data.docsRepoConfig ?? null);
35
37
  const breadcrumbsConfig = (data.breadcrumbsConfig && typeof data.breadcrumbsConfig === 'object')
36
38
  ? data.breadcrumbsConfig
@@ -1490,15 +1492,52 @@ function scrollToActiveHeading() {
1490
1492
  function scrollToEndpoint(id) {
1491
1493
  byId(id)?.scrollIntoView?.({ behavior: 'smooth', block: 'start' });
1492
1494
  }
1493
- function renderMermaidDiagrams(root = doc) {
1494
- const mermaid = win.mermaid;
1495
+ /**
1496
+ * Lazy-load the Mermaid renderer the first time a page with diagrams is
1497
+ * visited. Cached: subsequent route transitions inside the SPA reuse the
1498
+ * same `<script>` injection. Pages without `.mermaid` blocks never trigger
1499
+ * the network request, so the ~3MB library stays off the critical path
1500
+ * for the 95% of docs pages that have no diagrams.
1501
+ */
1502
+ function loadMermaidLibrary(src) {
1503
+ if (win.mermaid)
1504
+ return Promise.resolve(win.mermaid);
1505
+ if (mermaidLoadPromise)
1506
+ return mermaidLoadPromise;
1507
+ mermaidLoadPromise = new Promise((resolve, reject) => {
1508
+ const script = doc.createElement('script');
1509
+ script.src = src;
1510
+ script.defer = true;
1511
+ script.onload = () => resolve(win.mermaid);
1512
+ script.onerror = () => {
1513
+ mermaidLoadPromise = null;
1514
+ reject(new Error(`Failed to load Mermaid from ${src}`));
1515
+ };
1516
+ doc.head?.appendChild(script);
1517
+ });
1518
+ return mermaidLoadPromise;
1519
+ }
1520
+ async function renderMermaidDiagrams(root = doc) {
1495
1521
  const diagrams = Array.from(root?.querySelectorAll?.('.mermaid:not([data-mermaid-rendered])') ?? []);
1496
1522
  if (diagrams.length === 0)
1497
1523
  return;
1498
- if (!mermaid) {
1524
+ if (mermaidConfig.enabled === false) {
1499
1525
  diagrams.forEach(diagram => diagram.classList.add('mermaid-fallback'));
1500
1526
  return;
1501
1527
  }
1528
+ let mermaid = win.mermaid;
1529
+ if (!mermaid) {
1530
+ try {
1531
+ mermaid = await loadMermaidLibrary(mermaidConfig.src);
1532
+ }
1533
+ catch (error) {
1534
+ diagrams.forEach(diagram => {
1535
+ diagram.classList.add('mermaid-fallback', 'mermaid-error');
1536
+ diagram.setAttribute('title', error instanceof Error ? error.message : 'Unable to load Mermaid');
1537
+ });
1538
+ return;
1539
+ }
1540
+ }
1502
1541
  mermaid.initialize?.({ startOnLoad: false, securityLevel: 'strict' });
1503
1542
  diagrams.forEach((diagram, index) => {
1504
1543
  const source = diagram.getAttribute('data-mermaid-source') || diagram.textContent || '';
@@ -1509,6 +1548,8 @@ function renderMermaidDiagrams(root = doc) {
1509
1548
  result?.bindFunctions?.(diagram);
1510
1549
  diagram.dataset.mermaidRendered = 'true';
1511
1550
  diagram.classList.remove('mermaid-fallback', 'mermaid-error');
1551
+ if (mermaidConfig.viewer !== false)
1552
+ mountMermaidViewer(diagram);
1512
1553
  })
1513
1554
  .catch((error) => {
1514
1555
  diagram.dataset.mermaidRendered = 'error';
@@ -1517,6 +1558,191 @@ function renderMermaidDiagrams(root = doc) {
1517
1558
  });
1518
1559
  });
1519
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
+ }
1520
1746
  function parseComponentProps(raw) {
1521
1747
  const source = String(raw ?? '').trim();
1522
1748
  if (!source)
@@ -8,7 +8,7 @@
8
8
  /**
9
9
  * Generate the per-document data bootstrap.
10
10
  */
11
- export declare function generateClientDataScript(escapedSpec: string, escapedTagGroups: string, escapedHero: string, escapedSidebar: string, escapedIntroduction: string, escapedDocsPages: string, escapedDocsAliases: string, escapedSearchIndex: string, escapedDocsSidebar: string, escapedDocsAssetBasePath: string, escapedFooter: string, escapedToc: string, escapedMarkdown: string, escapedDocsRepo?: string, escapedBreadcrumbs?: string, escapedPageNav?: string): string;
11
+ export declare function generateClientDataScript(escapedSpec: string, escapedTagGroups: string, escapedHero: string, escapedSidebar: string, escapedIntroduction: string, escapedDocsPages: string, escapedDocsAliases: string, escapedSearchIndex: string, escapedDocsSidebar: string, escapedDocsAssetBasePath: string, escapedFooter: string, escapedToc: string, escapedMarkdown: string, escapedDocsRepo?: string, escapedBreadcrumbs?: string, escapedPageNav?: string, escapedMermaid?: string): string;
12
12
  /**
13
13
  * Generate the reusable client-side runtime.
14
14
  *
@@ -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,GACpD,MAAM,CAqBR;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":[]}') {
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},
@@ -42,7 +42,8 @@ export function generateClientDataScript(escapedSpec, escapedTagGroups, escapedH
42
42
  markdownConfig: ${escapedMarkdown},
43
43
  docsRepoConfig: ${escapedDocsRepo},
44
44
  breadcrumbsConfig: ${escapedBreadcrumbs},
45
- pageNavConfig: ${escapedPageNav}
45
+ pageNavConfig: ${escapedPageNav},
46
+ mermaidConfig: ${escapedMermaid}
46
47
  };
47
48
  `;
48
49
  }
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"html-builder.d.ts","sourceRoot":"","sources":["../../../src/docs/ui/html-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAA6C,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAoB/F;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CA0JlE;AAmCD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAYjE"}
1
+ {"version":3,"file":"html-builder.d.ts","sourceRoot":"","sources":["../../../src/docs/ui/html-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAA6C,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAoB/F;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CA4JlE;AAmCD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAYjE"}
@@ -70,6 +70,7 @@ export function generateUIHTML(options) {
70
70
  const escapedDocsRepo = escapeJsonForScript(ui?.docsRepo ?? null);
71
71
  const escapedBreadcrumbs = escapeJsonForScript(breadcrumbs);
72
72
  const escapedPageNav = escapeJsonForScript(pageNav);
73
+ const escapedMermaid = escapeJsonForScript(normalizeMermaidConfig(ui?.mermaid));
73
74
  // Generate hero background CSS
74
75
  const heroBackgroundCSS = generateHeroBackgroundCSS(primaryColor, hero?.background, hero?.backgroundImage);
75
76
  // Generate CSS
@@ -82,7 +83,7 @@ ${styles}
82
83
  const customCssHtml = normalizeCustomCss(ui?.customCss)
83
84
  .map(href => `<link rel="stylesheet" href="${escapeHtml(href)}" data-raffel-custom-css>`)
84
85
  .join('\n ');
85
- const dataScript = generateClientDataScript(escapedSpec, escapedTagGroups, escapedHero, escapedSidebar, escapedIntroduction, escapedDocsPages, escapedDocsAliases, escapedSearchIndex, escapedDocsSidebar, escapedDocsAssetBasePath, escapedFooter, escapedToc, escapedMarkdown, escapedDocsRepo, escapedBreadcrumbs, escapedPageNav);
86
+ const dataScript = generateClientDataScript(escapedSpec, escapedTagGroups, escapedHero, escapedSidebar, escapedIntroduction, escapedDocsPages, escapedDocsAliases, escapedSearchIndex, escapedDocsSidebar, escapedDocsAssetBasePath, escapedFooter, escapedToc, escapedMarkdown, escapedDocsRepo, escapedBreadcrumbs, escapedPageNav, escapedMermaid);
86
87
  const runtimeScript = assetMode === 'external'
87
88
  ? `<script>
88
89
  // Defensive asset probe: if a sibling JS asset returns HTML, the wildcard
@@ -192,4 +193,28 @@ export function generateUICSS(options) {
192
193
  const heroBackgroundCSS = generateHeroBackgroundCSS(primaryColor, hero?.background, hero?.backgroundImage);
193
194
  return generateStyles({ primaryColor, heroBackgroundCSS });
194
195
  }
196
+ const DEFAULT_MERMAID_CDN_SRC = 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js';
197
+ /**
198
+ * Normalize the `ui.mermaid` option into a concrete `{ enabled, src }` shape
199
+ * the runtime can read off `window.__RAFFEL_DOCS__.mermaidConfig`.
200
+ *
201
+ * undefined / true → enabled with the default CDN source.
202
+ * false → disabled. The runtime will leave `.mermaid` blocks
203
+ * in their fallback state without attempting to load
204
+ * the library.
205
+ * { src } → enabled with a pinned/self-hosted script URL.
206
+ */
207
+ function normalizeMermaidConfig(option) {
208
+ if (option === false)
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
+ };
217
+ }
218
+ return { enabled: true, src: DEFAULT_MERMAID_CDN_SRC, viewer: true };
219
+ }
195
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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"}