@aiquants/markdown 11.0.0 → 11.1.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 (131) hide show
  1. package/README.md +73 -2
  2. package/dist/{abnfDiagram-VRR7QNED-CxQnFjoJ.js → abnfDiagram-VRR7QNED-C4Jxgx13.js} +3 -3
  3. package/dist/{abnfDiagram-VRR7QNED-npWEsqYc.cjs → abnfDiagram-VRR7QNED-WjiOMH07.cjs} +1 -1
  4. package/dist/{arc-CUfL06Yf.cjs → arc-BASi8Hqx.cjs} +1 -1
  5. package/dist/{arc-8h1FB6uq.js → arc-C7CH7xqM.js} +20 -20
  6. package/dist/{architectureDiagram-ZJ3FMSHR-B3AN9LVb.js → architectureDiagram-ZJ3FMSHR-ClwidIel.js} +2 -2
  7. package/dist/{architectureDiagram-ZJ3FMSHR-B20pDRbn.cjs → architectureDiagram-ZJ3FMSHR-QlFmKjZ2.cjs} +1 -1
  8. package/dist/{blockDiagram-677ZJIJ3-BpyvdB6a.cjs → blockDiagram-677ZJIJ3-B5QDrNQV.cjs} +1 -1
  9. package/dist/{blockDiagram-677ZJIJ3-Cyl2Lsxi.js → blockDiagram-677ZJIJ3-BUrX_zhT.js} +3 -3
  10. package/dist/{c4Diagram-LMCZKHZV-B1v06ANz.js → c4Diagram-LMCZKHZV-B2hi-Wi5.js} +2 -2
  11. package/dist/{c4Diagram-LMCZKHZV-C9aMoZww.cjs → c4Diagram-LMCZKHZV-DYZO523e.cjs} +1 -1
  12. package/dist/{channel-BFKA8ne6.cjs → channel-Cg3Vm619.cjs} +1 -1
  13. package/dist/{channel-DHWInoX5.js → channel-Cr1ANV4j.js} +1 -1
  14. package/dist/{chunk-2Q5K7J3B-Hkei_N8G.js → chunk-2Q5K7J3B-Bxo9slkI.js} +1 -1
  15. package/dist/{chunk-2Q5K7J3B-CKQJDnvh.cjs → chunk-2Q5K7J3B-ZmtWeAKF.cjs} +1 -1
  16. package/dist/{chunk-32BRIVSS-BegSeeKc.cjs → chunk-32BRIVSS-8tw0VC1F.cjs} +1 -1
  17. package/dist/{chunk-32BRIVSS-BVjoQVFd.js → chunk-32BRIVSS-YISd1c8J.js} +1 -1
  18. package/dist/{chunk-5VM5RSS4-Bwvu3ZQn.js → chunk-5VM5RSS4-CqNTCifm.js} +1 -1
  19. package/dist/{chunk-5VM5RSS4-BQ9OvvVm.cjs → chunk-5VM5RSS4-g88YAKYU.cjs} +1 -1
  20. package/dist/{chunk-EX3LRPZG-Bj_q1v7R.cjs → chunk-EX3LRPZG-DP6g1uoN.cjs} +1 -1
  21. package/dist/{chunk-EX3LRPZG-Bz5BV4Fn.js → chunk-EX3LRPZG-WwLq86XG.js} +4 -4
  22. package/dist/{chunk-JWPE2WC7-CZGO5NQs.cjs → chunk-JWPE2WC7-Bqw3GN0H.cjs} +1 -1
  23. package/dist/{chunk-JWPE2WC7-C01naS5D.js → chunk-JWPE2WC7-COh8RdRz.js} +1 -1
  24. package/dist/{chunk-MOJQB5TN-DFFX8TKc.cjs → chunk-MOJQB5TN-BVAWgplu.cjs} +1 -1
  25. package/dist/{chunk-MOJQB5TN-C3Hq75Zv.js → chunk-MOJQB5TN-C1dao40o.js} +10 -10
  26. package/dist/{chunk-PUDLZKDR-2MWL0ZoW.cjs → chunk-PUDLZKDR-CC_D9ix1.cjs} +1 -1
  27. package/dist/{chunk-PUDLZKDR-Sz0OB5IT.js → chunk-PUDLZKDR-Cmc1XT5M.js} +6 -6
  28. package/dist/{chunk-RYQCIY6F-CSDblZx6.cjs → chunk-RYQCIY6F-C19BL3Ws.cjs} +1 -1
  29. package/dist/{chunk-RYQCIY6F-CBI5EYhC.js → chunk-RYQCIY6F-CjUwK4va.js} +12 -12
  30. package/dist/{chunk-V7JOEXUC-Br5K_lDL.js → chunk-V7JOEXUC-CypP8KXk.js} +15 -15
  31. package/dist/{chunk-V7JOEXUC-D3Y19ZhK.cjs → chunk-V7JOEXUC-iaB-PSjI.cjs} +1 -1
  32. package/dist/{chunk-VR4S4FIN-CQXol07w.js → chunk-VR4S4FIN-CC2Up04Z.js} +3 -3
  33. package/dist/{chunk-VR4S4FIN-DjxDq6sN.cjs → chunk-VR4S4FIN-CVdDLZPH.cjs} +1 -1
  34. package/dist/{chunk-XXDRQBXY--FT3CTeH.js → chunk-XXDRQBXY-D7hud77X.js} +1 -1
  35. package/dist/{chunk-XXDRQBXY-DwP8HH5V.cjs → chunk-XXDRQBXY-V6DQOxAN.cjs} +1 -1
  36. package/dist/{classDiagram-OUVF2IWQ-WUNGB5FC.cjs → classDiagram-OUVF2IWQ-BFfnrPra.cjs} +1 -1
  37. package/dist/{classDiagram-v2-EOCWNBFH-HKTI1J11.js → classDiagram-OUVF2IWQ-CgyfPPk6.js} +2 -2
  38. package/dist/{classDiagram-v2-EOCWNBFH-WUNGB5FC.cjs → classDiagram-v2-EOCWNBFH-BFfnrPra.cjs} +1 -1
  39. package/dist/{classDiagram-OUVF2IWQ-HKTI1J11.js → classDiagram-v2-EOCWNBFH-CgyfPPk6.js} +2 -2
  40. package/dist/components/BlockBoundary.d.ts +19 -0
  41. package/dist/components/MarkdownRenderer.d.ts +6 -1
  42. package/dist/components/MarkdownViewer.d.ts +3 -1
  43. package/dist/components/SvgImageBlock.d.ts +25 -0
  44. package/dist/components/blockFailureLabels.d.ts +2 -0
  45. package/dist/components/mdastNodes/CodeNode.d.ts +1 -0
  46. package/dist/components/rawHtml.d.ts +1 -0
  47. package/dist/components/svgImageLabels.d.ts +16 -0
  48. package/dist/components/viewerLabels.d.ts +7 -1
  49. package/dist/converter.wasm +0 -0
  50. package/dist/{cose-bilkent-JH36ORCC-X2Leg8js.cjs → cose-bilkent-JH36ORCC-BQZprRVI.cjs} +1 -1
  51. package/dist/{cose-bilkent-JH36ORCC-BYqXiffa.js → cose-bilkent-JH36ORCC-DmxSHNLU.js} +5 -5
  52. package/dist/{cynefinDiagram-TSTJHNR4-DYAvR3E8.cjs → cynefinDiagram-TSTJHNR4-KM35ULZr.cjs} +1 -1
  53. package/dist/{cynefinDiagram-TSTJHNR4-YATbGDfo.js → cynefinDiagram-TSTJHNR4-ku5HNgfN.js} +47 -47
  54. package/dist/{dagre-VKFMJZFB-Co2RmhO1.js → dagre-VKFMJZFB-57k1u_99.js} +20 -20
  55. package/dist/{dagre-VKFMJZFB-yjrP1oXL.cjs → dagre-VKFMJZFB-BmFsAJzi.cjs} +1 -1
  56. package/dist/{diagram-FQU43EPY-DfigqQP9.js → diagram-FQU43EPY-0ev8XAoD.js} +2 -2
  57. package/dist/{diagram-FQU43EPY-DVts5oXk.cjs → diagram-FQU43EPY-Bn7xPHj7.cjs} +1 -1
  58. package/dist/{diagram-G47NLZAW-Cave3JO_.cjs → diagram-G47NLZAW-CjGc3D2u.cjs} +1 -1
  59. package/dist/{diagram-G47NLZAW-k5OpX3J4.js → diagram-G47NLZAW-RPdbjZwZ.js} +38 -38
  60. package/dist/{diagram-NH7WQ7WH-DDA_wiMC.js → diagram-NH7WQ7WH-CnZ4iL7c.js} +20 -20
  61. package/dist/{diagram-NH7WQ7WH-ByEOvB5o.cjs → diagram-NH7WQ7WH-lHSM_pTi.cjs} +1 -1
  62. package/dist/{diagram-OA4YK3LP-C85REJhK.cjs → diagram-OA4YK3LP-BcKaPsNW.cjs} +1 -1
  63. package/dist/{diagram-OA4YK3LP-DR63MTHd.js → diagram-OA4YK3LP-RtsRdjQV.js} +58 -58
  64. package/dist/{diagram-WEI45ONY-9_82j2nL.cjs → diagram-WEI45ONY-Cm0jKyLw.cjs} +1 -1
  65. package/dist/{diagram-WEI45ONY-DKy9LVdb.js → diagram-WEI45ONY-eVEUMERO.js} +10 -10
  66. package/dist/{ebnfDiagram-CCIWWBDH-Cn6FnIur.js → ebnfDiagram-CCIWWBDH-BlAQU47p.js} +5 -5
  67. package/dist/{ebnfDiagram-CCIWWBDH-CYd0AUSE.cjs → ebnfDiagram-CCIWWBDH-CcHTkkm8.cjs} +1 -1
  68. package/dist/{erDiagram-Q63AITRT-BF_5IEpU.js → erDiagram-Q63AITRT-Cz_PKpWU.js} +9 -9
  69. package/dist/{erDiagram-Q63AITRT-CMIoja24.cjs → erDiagram-Q63AITRT-Dv27IAYm.cjs} +1 -1
  70. package/dist/{extractHeadings-sSLGzcdt.cjs → extractHeadings-BMNm4Zss.cjs} +82 -82
  71. package/dist/{extractHeadings-DZi9v6vp.js → extractHeadings-OhPxZ04C.js} +6611 -6424
  72. package/dist/flowDiagram-23GEKE2U-BoCXOrea.js +7 -0
  73. package/dist/flowDiagram-23GEKE2U-Dsludo9a.cjs +1 -0
  74. package/dist/{ganttDiagram-NO4QXBWP-Drcm5yEd.cjs → ganttDiagram-NO4QXBWP-CbbUbAi1.cjs} +1 -1
  75. package/dist/{ganttDiagram-NO4QXBWP-DEnf80Mq.js → ganttDiagram-NO4QXBWP-DtwVRaBN.js} +2 -2
  76. package/dist/{gitGraphDiagram-IHSO6WYX-GII6PPu9.cjs → gitGraphDiagram-IHSO6WYX-BHOaT-JP.cjs} +1 -1
  77. package/dist/{gitGraphDiagram-IHSO6WYX-eyfAn5cz.js → gitGraphDiagram-IHSO6WYX-BiUZZefR.js} +10 -10
  78. package/dist/index.cjs +1 -1
  79. package/dist/index.client.cjs +1 -1
  80. package/dist/index.client.d.ts +3 -1
  81. package/dist/index.client.js +32 -31
  82. package/dist/index.js +32 -31
  83. package/dist/{infoDiagram-FWYZ7A6U-DPC7xHqx.js → infoDiagram-FWYZ7A6U-DI2c0joH.js} +1 -1
  84. package/dist/{infoDiagram-FWYZ7A6U-C2FBPXIG.cjs → infoDiagram-FWYZ7A6U-DsF_dahQ.cjs} +1 -1
  85. package/dist/{ishikawaDiagram-FXEZZL3T-DqNbTlei.js → ishikawaDiagram-FXEZZL3T-0U9dSh7F.js} +25 -25
  86. package/dist/{ishikawaDiagram-FXEZZL3T-CJVI_dU0.cjs → ishikawaDiagram-FXEZZL3T-CaDgpvd5.cjs} +1 -1
  87. package/dist/{journeyDiagram-5HDEW3XC-DiVOEWa6.cjs → journeyDiagram-5HDEW3XC-5qIvxqpC.cjs} +1 -1
  88. package/dist/{journeyDiagram-5HDEW3XC-DuKx5oFy.js → journeyDiagram-5HDEW3XC-Y9ABNCEY.js} +4 -4
  89. package/dist/{kanban-definition-HUTT4EX6-BklyDLxL.cjs → kanban-definition-HUTT4EX6-DDy8tXpk.cjs} +1 -1
  90. package/dist/{kanban-definition-HUTT4EX6-DezliCFs.js → kanban-definition-HUTT4EX6-DTsrmMh8.js} +52 -52
  91. package/dist/{linear-CdYfVjua.js → linear-B7M8-_qH.js} +5 -5
  92. package/dist/{linear-w1JR48Qh.cjs → linear-CYNosLx1.cjs} +1 -1
  93. package/dist/{mindmap-definition-LN4V7U3C-BlvTH7wL.cjs → mindmap-definition-LN4V7U3C-AQHTbAWm.cjs} +1 -1
  94. package/dist/{mindmap-definition-LN4V7U3C-7q4b7Jdd.js → mindmap-definition-LN4V7U3C-CNXzfo0L.js} +16 -16
  95. package/dist/{pegDiagram-2B236MQR-BPY_9I4m.js → pegDiagram-2B236MQR-CNgWrgv-.js} +3 -3
  96. package/dist/{pegDiagram-2B236MQR-DirAhjr9.cjs → pegDiagram-2B236MQR-D0SEAIrf.cjs} +1 -1
  97. package/dist/{pieDiagram-ENE6RG2P-CLMNCcZD.cjs → pieDiagram-ENE6RG2P-BlmNu0Kw.cjs} +1 -1
  98. package/dist/{pieDiagram-ENE6RG2P-L4j2AB7Y.js → pieDiagram-ENE6RG2P-DzbrqPW4.js} +51 -51
  99. package/dist/{quadrantDiagram-ABIIQ3AL-lyExQfuw.cjs → quadrantDiagram-ABIIQ3AL-BXPkUo_7.cjs} +1 -1
  100. package/dist/{quadrantDiagram-ABIIQ3AL-B9uzT4Zl.js → quadrantDiagram-ABIIQ3AL-_XC0L6LA.js} +43 -43
  101. package/dist/{railroadDiagram-RFXS5EU6-BgW-4T7B.js → railroadDiagram-RFXS5EU6-CfXmkCxt.js} +7 -7
  102. package/dist/{railroadDiagram-RFXS5EU6-u2Ztkufm.cjs → railroadDiagram-RFXS5EU6-EyrFshDZ.cjs} +1 -1
  103. package/dist/{requirementDiagram-TGXJPOKE-BnyCTa79.js → requirementDiagram-TGXJPOKE-DKjGDx3E.js} +18 -18
  104. package/dist/{requirementDiagram-TGXJPOKE-Cm9r8e07.cjs → requirementDiagram-TGXJPOKE-KjSczfMx.cjs} +1 -1
  105. package/dist/{sankeyDiagram-HTMAVEWB-KJ5WdXGw.cjs → sankeyDiagram-HTMAVEWB-6JC0mA8g.cjs} +1 -1
  106. package/dist/{sankeyDiagram-HTMAVEWB-Cv3KCrBX.js → sankeyDiagram-HTMAVEWB-R3EgjVk3.js} +1 -1
  107. package/dist/{sequenceDiagram-DBY2YBRQ-CUa9htwo.js → sequenceDiagram-DBY2YBRQ-BeK8wcJ4.js} +3 -3
  108. package/dist/{sequenceDiagram-DBY2YBRQ-DYXMeMoq.cjs → sequenceDiagram-DBY2YBRQ-jllfFbkK.cjs} +1 -1
  109. package/dist/{sizeCapture-X5ZJPWSS-D0cfhTVe.js → sizeCapture-X5ZJPWSS-C9QakD3W.js} +1 -1
  110. package/dist/{sizeCapture-X5ZJPWSS-C4RUlRk2.cjs → sizeCapture-X5ZJPWSS-QkZ2crvh.cjs} +1 -1
  111. package/dist/{stateDiagram-2N3HPSRC-C4DOBTHC.cjs → stateDiagram-2N3HPSRC-CoHLlhZX.cjs} +1 -1
  112. package/dist/{stateDiagram-2N3HPSRC-CUQCdjYa.js → stateDiagram-2N3HPSRC-DXh1e2K8.js} +10 -10
  113. package/dist/{stateDiagram-v2-6OUMAXLB-BK27mYqW.cjs → stateDiagram-v2-6OUMAXLB-B0KQB01K.cjs} +1 -1
  114. package/dist/{stateDiagram-v2-6OUMAXLB-C1Fb_pKt.js → stateDiagram-v2-6OUMAXLB-D6Dlbs-H.js} +2 -2
  115. package/dist/styles/markdown.css +1 -1
  116. package/dist/styles/markdown.standalone.css +1 -1
  117. package/dist/{swimlanes-5IMT3BWC-DUPAete1.js → swimlanes-5IMT3BWC-BaTEG5rQ.js} +313 -313
  118. package/dist/{swimlanes-5IMT3BWC-DZLnPVID.cjs → swimlanes-5IMT3BWC-D-D1lzxE.cjs} +1 -1
  119. package/dist/{swimlanesDiagram-G3AALYLV-BrpRN3Vb.js → swimlanesDiagram-G3AALYLV-C6p-5K6G.js} +2 -2
  120. package/dist/{swimlanesDiagram-G3AALYLV-CMa-ZboO.cjs → swimlanesDiagram-G3AALYLV-DSssDQXF.cjs} +1 -1
  121. package/dist/{timeline-definition-FHXFAJF6-DC2SJZSb.js → timeline-definition-FHXFAJF6-Bq5nzkkn.js} +108 -108
  122. package/dist/{timeline-definition-FHXFAJF6-wvuHQLus.cjs → timeline-definition-FHXFAJF6-DtewJvNV.cjs} +1 -1
  123. package/dist/{vennDiagram-L72KCM5P-HK22xYss.js → vennDiagram-L72KCM5P-5QsbfRVK.js} +101 -101
  124. package/dist/{vennDiagram-L72KCM5P-DbIG-wm1.cjs → vennDiagram-L72KCM5P-g-vN7N0T.cjs} +1 -1
  125. package/dist/{wardleyDiagram-EHGQE667-BN2PkxRg.cjs → wardleyDiagram-EHGQE667-B78Ehxdt.cjs} +1 -1
  126. package/dist/{wardleyDiagram-EHGQE667-JHC6pqAp.js → wardleyDiagram-EHGQE667-Dk_QVzpo.js} +85 -85
  127. package/dist/{xychartDiagram-FW5EYKEG-DNLQTD-2.js → xychartDiagram-FW5EYKEG-CwpcSS8_.js} +40 -40
  128. package/dist/{xychartDiagram-FW5EYKEG-CMRlyJDS.cjs → xychartDiagram-FW5EYKEG-DwiqWfUA.cjs} +1 -1
  129. package/package.json +11 -11
  130. package/dist/flowDiagram-23GEKE2U-BCDxgNfH.js +0 -7
  131. package/dist/flowDiagram-23GEKE2U-DDbv1eCW.cjs +0 -1
package/README.md CHANGED
@@ -483,6 +483,61 @@ A block rendered without such a sheet shows plain inherited text: the components
483
483
  - **Palette**: a theme colour that falls below 7:1 on any of those backgrounds is replaced by one with the same hue and chroma (chroma is lowered only to stay inside sRGB), moved in lightness only as far as 7:1 needs. The tints keep the hue of a translucent green and red and take the luminance of the block, so a tint never lowers a token's contrast.
484
484
  - **Hooks** are data attributes, not classes: `data-aqmd-code-block` on the block's root, `data-aqmd-code-filename` on the file name's tab, `data-aqmd-code-copy` on the copy button (the copy button of a display-math block carries it too) and `data-aqmd-diff="add"` or `"remove"` on a changed line, which sets no inline background.
485
485
  - **Copy button and file name**: `markdown.css` colours them (`#1f2937` on `#e5e7eb`, `#d1d5db` on hover; in the dark scheme, `.dark` or `[data-theme="dark"]` on an ancestor, `#f3f4f6` on `#374151`, `#4a5361` on hover), every pair at 7:1 or more. The copy buttons are at least 44 × 44 px under every pointer.
486
+ - **Languages**: a fence's language is highlighted when Shiki knows it — one of its languages or their aliases
487
+ (`bundledLanguages`), or a plain one (`text`, `txt`, `plain`, `plaintext`, `ansi`). `svg` is highlighted as `xml`.
488
+ Every other language (`logql`, a misspelling, a language in capitals such as `SVG`) renders as plain text, so no fence
489
+ can fail the document; the block keeps its file name and copy button.
490
+
491
+ ### SVG images
492
+
493
+ Give `MarkdownViewer` or `MarkdownRenderer` a reader of image sources (`imageSource`, a `MarkdownImageSourceReader`),
494
+ and every storage SVG image that stands alone in its paragraph shows its source a press away: a toolbar above the image
495
+ whose **Source** toggle swaps the image for the text of its file, as written, and back. Without a reader every image
496
+ renders as written.
497
+
498
+ - **Which images**: a paragraph whose only child (besides white space) is an `img` that, as the allow list keeps it,
499
+ carries a `data-asset-src` ending in `.svg` (any ASCII letter case), a `src`, and no `data-asset-exists="false"`, in a
500
+ paragraph that is not inside a link. An image with an external or root-relative `src` (no `data-asset-src`), an image
501
+ inside a link, in a sentence, in a list item or a table cell without a paragraph, or next to another image renders as
502
+ before.
503
+ - **The reader**: `read(path, signal)` receives the image's document path exactly as the converter wrote it in
504
+ `data-asset-src` and resolves to `{ kind: "text", text, truncated }` (the beginning of the file as text, `truncated`
505
+ when the file holds more than the host reads) or `{ kind: "failure", retryable }` (`retryable` when trying again may
506
+ succeed). It rejects only with the signal's reason once the signal aborted; any other rejection, and a throw before it
507
+ returns its promise, shows as a failure that may pass and is reported on the console. The reader object may change
508
+ on any render: the renderer hands the blocks one stable stand-in that calls the latest reader, and only the reader's
509
+ presence renders the blocks again. Only the converter writes `data-asset-src` (it removes the markers a document
510
+ writes and refuses the targets its deny rules refuse), and the reader should admit exactly what the host would serve
511
+ as the image itself.
512
+ - **Showing the source**: the block reads the file each time the source shows, and aborts the read when the source hides
513
+ or the block goes away. Until the answer it shows a loading line; then the text in a `<pre>` that wraps (a one-line
514
+ SVG never runs out sideways), never interprets it, takes the focus (the keyboard scrolls it) and is capped at the
515
+ viewport height less 2 × 44 px (`--aqmd-viewport-cap`, as the diagram and table boxes are) with its own scrolling. A
516
+ source the host cut gets a note under it; a whole source adds **Copy** to the toolbar, which writes the text exactly
517
+ as read and tells the outcome in the block's status line. A failure shows its text, with **Try again** when it may
518
+ pass (the focus moves to the toggle as the button goes). The press keeps the focus on the toggle (`aria-pressed`); the
519
+ choice is not kept, so the block opens on the image.
520
+ - **Toolbar**: 44 × 44 px controls in a wrapping row that never covers the image, one tab stop whose controls the arrow
521
+ keys, Home and End walk, and the palette and focus ring the Mermaid and spreadsheet toolbars share (`markdown.css`).
522
+ - **Layout**: the block replaces the paragraph with a `div` that holds the toolbar and, while the image shows, the
523
+ original paragraph (so the image keeps the paragraph's spacing). The root carries the paragraph's `data-source-lines`;
524
+ the paragraph inside it carries none.
525
+ - **Hooks**: `data-aqmd-svg-image` (the root, with `data-aqmd-svg-image-view="image"` or `"source"`),
526
+ `data-aqmd-svg-image-toolbar`, `data-aqmd-svg-image-control` (`source`, `copy`), `data-aqmd-svg-image-loading`,
527
+ `data-aqmd-svg-image-source`, `data-aqmd-svg-image-truncated`, `data-aqmd-svg-image-error`,
528
+ `data-aqmd-svg-image-retry` and `data-aqmd-svg-image-notice` (the status line). A host that opens an editor on a
529
+ double-click should leave a double-click inside `data-aqmd-svg-image-source` to the text selection.
530
+ - **Labels**: the viewer's `svgImage*` keys, or the renderer's `svgImageLabels` (`SvgImageLabels`; see [Labels and
531
+ languages](#labels-and-languages)).
532
+
533
+ ### Blocks that cannot render
534
+
535
+ Every top-level block renders inside its own error boundary. A block whose rendering throws in the browser — a host's
536
+ `linkComponent` that fails, a component's bug — shows a short notice in its place (`[data-aqmd-block-failure]`: the
537
+ label `blockFailed`, the renderer's `blockFailedLabel`, above the block's text in a `<pre>`; the built-in English notice
538
+ is marked `lang="en"`, a supplied one carries no language), the other blocks render, and React reports the error as a
539
+ caught one (the root's `onCaughtError`, the console by default). The block renders again as soon as its content
540
+ changes. React's server rendering does not stop at error boundaries, so such a block still fails a server render.
486
541
 
487
542
  ### Mermaid diagrams
488
543
 
@@ -512,7 +567,7 @@ Mermaid draws in that element and the component shows the result in the slot, so
512
567
  - **Keyboard**: the frame takes focus (`tabindex="0"`, `role="group"`) and is named by the `diagram` label, which a hidden element carries with its own `lang`, so the drawing's text is not marked with it. On the frame itself, not on a link inside it and not with Ctrl, Meta or Alt held, the arrow keys pan the view by 25.9 % of the frame (only when the view can move; otherwise the page scrolls), `+` and `=` zoom in, `-` zooms out and `0` resets.
513
568
  When an element inside the drawing takes the focus (a node's link, by Tab), the view pans by the least distance that brings the element's box inside the frame, because the clipping frame is no scroll container the browser could scroll to it.
514
569
  - **Pan buttons**: four buttons (`pan-left`, `pan-up`, `pan-down`, `pan-right`) are shown in the toolbar only while the drawing overflows its frame, so panning never needs a drag (WCAG 2.5.7); at fit they keep their slots hidden (`visibility: hidden`: not focusable, not exposed), so zooming never adds a toolbar row or moves the frame; each moves the view by the same step as the arrow keys.
515
- - **Sizes**: under every pointer (a mouse, a pen or a finger) every control is 44 × 44 px and each menu item and the retry button at least 44 px tall (WCAG 2.2 enhanced target size). The toolbar is a wrapping row above the frame, so the controls never cover the drawing, and the menu opens below its button, aligned to the button's start, or to its end when the start would run past the viewport (`data-aqmd-toolbar-menu`: `start` or `end`).
570
+ - **Sizes**: under every pointer (a mouse, a pen or a finger) every control is 44 × 44 px and each menu item and the retry button at least 44 px tall (WCAG 2.2 enhanced target size). The toolbar is a wrapping row above the frame, so the controls never cover the drawing, and the menu opens below its button, aligned to the button's start, or to its end when the start would run past the viewport (`data-aqmd-control-menu`: `start` or `end`).
516
571
  - **Tall diagrams**: under a coarse pointer the frame is at most `calc(100svh - 2 * 2.75rem)` tall, so two 44 px bands of the page stay outside it wherever it sits and a finger can scroll the page past the diagram; the clipped drawing then overflows and pans by finger.
517
572
  - **Touch menu**: under a coarse pointer the menu button is named by `interactionModeTouch` and the menu lists four items, `none`, `zoom`, `pan` and `both`, worded for touch (see [Labels and languages](#labels-and-languages)); the checked item is the touch counterpart of the mode in force (`pan-shift` shows `pan`, `both-shift` shows `both`), and choosing an item sets that mode. Escape closes a menu and returns the focus to its button.
518
573
  - **Colours and focus ring**: the controls, the menu items, the checked item, the error message and the retry button reach 7:1 against their surfaces in both schemes (dark when `.dark` or `[data-theme="dark"]` is on an ancestor). The focus ring of the frame, the toolbar controls and the retry button is a 2 px `#003abc` outline with a white 4 px halo, 9:1 apart, so some part of it stands out on any background (WCAG 2.4.13, 1.4.11); the menu items draw it inset. The ring's rules sit outside every cascade layer, so the controls' `shadow` utility cannot replace the halo.
@@ -644,7 +699,7 @@ Total 200 235
644
699
  `data-aqmd-spreadsheet-zoom-widest`), `data-aqmd-spreadsheet-track-size` (the row of size controls) and
645
700
  `data-aqmd-spreadsheet-track-size-control` (`decreaseColumnWidth`, `increaseColumnWidth`, `autoFitColumnWidth`,
646
701
  `decreaseRowHeight`, `increaseRowHeight`), `data-aqmd-spreadsheet-menu` and `data-aqmd-spreadsheet-menu-item`
647
- (`save-with-bom`) with the menu's side `data-aqmd-toolbar-menu` (`start` or `end`), `data-aqmd-spreadsheet-size`,
702
+ (`save-with-bom`) with the menu's side `data-aqmd-control-menu` (`start` or `end`), `data-aqmd-spreadsheet-size`,
648
703
  `data-aqmd-spreadsheet-box`, `data-aqmd-spreadsheet-static` (with `data-aqmd-spreadsheet-static-letters` and
649
704
  `data-aqmd-spreadsheet-static-number`), `data-aqmd-spreadsheet-notice`, `data-aqmd-spreadsheet-error` (`options`, `size`
650
705
  or `load`), `data-aqmd-spreadsheet-retry`, and the state attributes `data-aqmd-spreadsheet-editable` and
@@ -835,6 +890,22 @@ placeholder without a value stays as written, so a misspelt one shows rather tha
835
890
  | `tooLarge` | The error of a table past the budget (`{cells}`, `{max}`) | This table has {cells} cells, more than the {max} a table shows. Its text is still in the document. | この表のセルは {cells} 個で、表が見せられる {max} 個を超えます。表の文字は文書の中にあります。 |
836
891
  | `loadFailed`, `retry` | The error of a failed load and its retry button | Could not load the spreadsheet. Check the connection and retry. / Retry | 表を読み込めませんでした。接続を確かめて再試行してください。 / 再試行 |
837
892
 
893
+ The SVG image block's keys of `SvgImageLabels`, all optional and English by default (`lang="en"`; the viewer's key for each is `svgImage` followed by the key with a capital first letter: `source` is `svgImageSource`; `DEFAULT_SVG_IMAGE_LABELS` holds the texts):
894
+
895
+ | Key | Names | Built-in text |
896
+ | --- | --- | --- |
897
+ | `toolbar` | The toolbar above the image | SVG image |
898
+ | `source` | The Source toggle | Source |
899
+ | `sourceRegion` | The shown source; `{name}` is the image's alternative text, else its file name | Source of {name} |
900
+ | `loading` | The line while the source loads | Loading the source… |
901
+ | `failed` | The failure | The source could not be read. |
902
+ | `retry` | The retry button after a failure that may pass | Try again |
903
+ | `truncated` | The note under a source the host cut | Only the beginning of this file is shown. |
904
+ | `copy` | The copy button | Copy the source |
905
+ | `copied`, `copyFailed` | The status line after a copy | Copied the source. / Could not copy the source. |
906
+
907
+ The viewer's `blockFailed` (the renderer's `blockFailedLabel`; built in: "This block could not be shown.", `lang="en"`) names the notice of a block that cannot render.
908
+
838
909
  ### Settings without React
839
910
 
840
911
  `@aiquants/markdown/code-blocks` holds the code-block contract without loading React: `CODE_META_ATTRIBUTE`
@@ -1,6 +1,6 @@
1
- import { g as p, r as u, d as a } from "./chunk-MOJQB5TN-C3Hq75Zv.js";
2
- import { p as f } from "./chunk-JWPE2WC7-C01naS5D.js";
3
- import { _ as n, R as o } from "./extractHeadings-DZi9v6vp.js";
1
+ import { g as p, r as u, d as a } from "./chunk-MOJQB5TN-C1dao40o.js";
2
+ import { p as f } from "./chunk-JWPE2WC7-COh8RdRz.js";
3
+ import { _ as n, U as o } from "./extractHeadings-OhPxZ04C.js";
4
4
  import { M as c, b as d } from "./cynefin-VYW2F7L2-Bkk-F_Js.js";
5
5
  var v = d().RailroadAbnf.parser.LangiumParser, i = /* @__PURE__ */ n((e) => {
6
6
  const r = e.alternatives.map(g);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./chunk-MOJQB5TN-DFFX8TKc.cjs"),u=require("./chunk-JWPE2WC7-CZGO5NQs.cjs"),n=require("./extractHeadings-sSLGzcdt.cjs"),i=require("./cynefin-VYW2F7L2-MpAliYy9.cjs");var p=i.createRailroadAbnfServices().RailroadAbnf.parser.LangiumParser,o=n.__name(e=>{const r=e.alternatives.map(c);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),c=n.__name(e=>{const r=e.elements.map(d);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),f=n.__name(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),d=n.__name(e=>{const r=b(e.primary);if(!e.repeat)return r;const{min:t,max:s}=f(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),b=n.__name(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return o(e.element);case"AbnfOptionalGroup":return{type:"optional",element:o(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),g=n.__name(e=>({name:e.name,definition:o(e.definition)}),"transformRule"),v=n.__name(e=>{u.populateCommonDb(e,a.db),e.title&&a.db.setTitle(e.title),e.rules.map(r=>a.db.addRule(g(r)))},"populateDb"),y={parse:n.__name(e=>{a.db.clear(),n.log.debug("[ABNF Parser] Starting Langium parse");const r=p.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new i.MermaidParseError(r);const t=r.value;n.log.debug("[ABNF Parser] Parsed rules:",t.rules.length),v(t),n.log.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a.db}},_={parser:y,db:a.db,renderer:a.renderer,styles:a.getStyles};exports.diagram=_;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./chunk-MOJQB5TN-BVAWgplu.cjs"),u=require("./chunk-JWPE2WC7-Bqw3GN0H.cjs"),n=require("./extractHeadings-BMNm4Zss.cjs"),i=require("./cynefin-VYW2F7L2-MpAliYy9.cjs");var p=i.createRailroadAbnfServices().RailroadAbnf.parser.LangiumParser,o=n.__name(e=>{const r=e.alternatives.map(c);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),c=n.__name(e=>{const r=e.elements.map(d);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),f=n.__name(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),d=n.__name(e=>{const r=b(e.primary);if(!e.repeat)return r;const{min:t,max:s}=f(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),b=n.__name(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return o(e.element);case"AbnfOptionalGroup":return{type:"optional",element:o(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),g=n.__name(e=>({name:e.name,definition:o(e.definition)}),"transformRule"),v=n.__name(e=>{u.populateCommonDb(e,a.db),e.title&&a.db.setTitle(e.title),e.rules.map(r=>a.db.addRule(g(r)))},"populateDb"),y={parse:n.__name(e=>{a.db.clear(),n.log.debug("[ABNF Parser] Starting Langium parse");const r=p.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new i.MermaidParseError(r);const t=r.value;n.log.debug("[ABNF Parser] Parsed rules:",t.rules.length),v(t),n.log.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a.db}},_={parser:y,db:a.db,renderer:a.renderer,styles:a.getStyles};exports.diagram=_;
@@ -1 +1 @@
1
- "use strict";const n=require("./extractHeadings-sSLGzcdt.cjs");function $(o){return o.innerRadius}function b(o){return o.outerRadius}function k(o){return o.startAngle}function _(o){return o.endAngle}function nn(o){return o&&o.padAngle}function en(o,x,D,P,h,v,S,s){var E=D-o,r=P-x,e=S-h,p=s-v,i=p*E-e*r;if(!(i*i<n.epsilon))return i=(e*(x-v)-p*(o-h))/i,[o+i*E,x+i*r]}function M(o,x,D,P,h,v,S){var s=o-D,E=x-P,r=(S?v:-v)/n.sqrt(s*s+E*E),e=r*E,p=-r*s,i=o+e,u=x+p,c=D+e,f=P+p,j=(i+c)/2,l=(u+f)/2,y=c-i,g=f-u,A=y*y+g*g,R=h-v,T=i*f-c*u,H=(g<0?-1:1)*n.sqrt(n.max(0,R*R*A-T*T)),I=(T*g-y*H)/A,O=(-T*y-g*H)/A,q=(T*g+y*H)/A,d=(-T*y+g*H)/A,m=I-j,a=O-l,t=q-j,z=d-l;return m*m+a*a>t*t+z*z&&(I=q,O=d),{cx:I,cy:O,x01:-e,y01:-p,x11:I*(h/R-1),y11:O*(h/R-1)}}function an(){var o=$,x=b,D=n.constant(0),P=null,h=k,v=_,S=nn,s=null,E=n.withPath(r);function r(){var e,p,i=+o.apply(this,arguments),u=+x.apply(this,arguments),c=h.apply(this,arguments)-n.halfPi,f=v.apply(this,arguments)-n.halfPi,j=n.abs(f-c),l=f>c;if(s||(s=e=E()),u<i&&(p=u,u=i,i=p),!(u>n.epsilon))s.moveTo(0,0);else if(j>n.tau-n.epsilon)s.moveTo(u*n.cos(c),u*n.sin(c)),s.arc(0,0,u,c,f,!l),i>n.epsilon&&(s.moveTo(i*n.cos(f),i*n.sin(f)),s.arc(0,0,i,f,c,l));else{var y=c,g=f,A=c,R=f,T=j,H=j,I=S.apply(this,arguments)/2,O=I>n.epsilon&&(P?+P.apply(this,arguments):n.sqrt(i*i+u*u)),q=n.min(n.abs(u-i)/2,+D.apply(this,arguments)),d=q,m=q,a,t;if(O>n.epsilon){var z=n.asin(O/i*n.sin(I)),F=n.asin(O/u*n.sin(I));(T-=z*2)>n.epsilon?(z*=l?1:-1,A+=z,R-=z):(T=0,A=R=(c+f)/2),(H-=F*2)>n.epsilon?(F*=l?1:-1,y+=F,g-=F):(H=0,y=g=(c+f)/2)}var B=u*n.cos(y),C=u*n.sin(y),G=i*n.cos(R),J=i*n.sin(R);if(q>n.epsilon){var K=u*n.cos(g),L=u*n.sin(g),N=i*n.cos(A),Q=i*n.sin(A),w;if(j<n.pi)if(w=en(B,C,N,Q,K,L,G,J)){var U=B-w[0],V=C-w[1],W=K-w[0],X=L-w[1],Y=1/n.sin(n.acos((U*W+V*X)/(n.sqrt(U*U+V*V)*n.sqrt(W*W+X*X)))/2),Z=n.sqrt(w[0]*w[0]+w[1]*w[1]);d=n.min(q,(i-Z)/(Y-1)),m=n.min(q,(u-Z)/(Y+1))}else d=m=0}H>n.epsilon?m>n.epsilon?(a=M(N,Q,B,C,u,m,l),t=M(K,L,G,J,u,m,l),s.moveTo(a.cx+a.x01,a.cy+a.y01),m<q?s.arc(a.cx,a.cy,m,n.atan2(a.y01,a.x01),n.atan2(t.y01,t.x01),!l):(s.arc(a.cx,a.cy,m,n.atan2(a.y01,a.x01),n.atan2(a.y11,a.x11),!l),s.arc(0,0,u,n.atan2(a.cy+a.y11,a.cx+a.x11),n.atan2(t.cy+t.y11,t.cx+t.x11),!l),s.arc(t.cx,t.cy,m,n.atan2(t.y11,t.x11),n.atan2(t.y01,t.x01),!l))):(s.moveTo(B,C),s.arc(0,0,u,y,g,!l)):s.moveTo(B,C),!(i>n.epsilon)||!(T>n.epsilon)?s.lineTo(G,J):d>n.epsilon?(a=M(G,J,K,L,i,-d,l),t=M(B,C,N,Q,i,-d,l),s.lineTo(a.cx+a.x01,a.cy+a.y01),d<q?s.arc(a.cx,a.cy,d,n.atan2(a.y01,a.x01),n.atan2(t.y01,t.x01),!l):(s.arc(a.cx,a.cy,d,n.atan2(a.y01,a.x01),n.atan2(a.y11,a.x11),!l),s.arc(0,0,i,n.atan2(a.cy+a.y11,a.cx+a.x11),n.atan2(t.cy+t.y11,t.cx+t.x11),l),s.arc(t.cx,t.cy,d,n.atan2(t.y11,t.x11),n.atan2(t.y01,t.x01),!l))):s.arc(0,0,i,R,A,l)}if(s.closePath(),e)return s=null,e+""||null}return r.centroid=function(){var e=(+o.apply(this,arguments)+ +x.apply(this,arguments))/2,p=(+h.apply(this,arguments)+ +v.apply(this,arguments))/2-n.pi/2;return[n.cos(p)*e,n.sin(p)*e]},r.innerRadius=function(e){return arguments.length?(o=typeof e=="function"?e:n.constant(+e),r):o},r.outerRadius=function(e){return arguments.length?(x=typeof e=="function"?e:n.constant(+e),r):x},r.cornerRadius=function(e){return arguments.length?(D=typeof e=="function"?e:n.constant(+e),r):D},r.padRadius=function(e){return arguments.length?(P=e==null?null:typeof e=="function"?e:n.constant(+e),r):P},r.startAngle=function(e){return arguments.length?(h=typeof e=="function"?e:n.constant(+e),r):h},r.endAngle=function(e){return arguments.length?(v=typeof e=="function"?e:n.constant(+e),r):v},r.padAngle=function(e){return arguments.length?(S=typeof e=="function"?e:n.constant(+e),r):S},r.context=function(e){return arguments.length?(s=e??null,r):s},r}exports.d3arc=an;
1
+ "use strict";const n=require("./extractHeadings-BMNm4Zss.cjs");function $(o){return o.innerRadius}function b(o){return o.outerRadius}function k(o){return o.startAngle}function _(o){return o.endAngle}function nn(o){return o&&o.padAngle}function en(o,x,D,P,h,v,S,s){var E=D-o,r=P-x,e=S-h,p=s-v,i=p*E-e*r;if(!(i*i<n.epsilon))return i=(e*(x-v)-p*(o-h))/i,[o+i*E,x+i*r]}function M(o,x,D,P,h,v,S){var s=o-D,E=x-P,r=(S?v:-v)/n.sqrt(s*s+E*E),e=r*E,p=-r*s,i=o+e,u=x+p,c=D+e,f=P+p,j=(i+c)/2,l=(u+f)/2,y=c-i,g=f-u,A=y*y+g*g,R=h-v,T=i*f-c*u,H=(g<0?-1:1)*n.sqrt(n.max(0,R*R*A-T*T)),I=(T*g-y*H)/A,O=(-T*y-g*H)/A,q=(T*g+y*H)/A,d=(-T*y+g*H)/A,m=I-j,a=O-l,t=q-j,z=d-l;return m*m+a*a>t*t+z*z&&(I=q,O=d),{cx:I,cy:O,x01:-e,y01:-p,x11:I*(h/R-1),y11:O*(h/R-1)}}function an(){var o=$,x=b,D=n.constant(0),P=null,h=k,v=_,S=nn,s=null,E=n.withPath(r);function r(){var e,p,i=+o.apply(this,arguments),u=+x.apply(this,arguments),c=h.apply(this,arguments)-n.halfPi,f=v.apply(this,arguments)-n.halfPi,j=n.abs(f-c),l=f>c;if(s||(s=e=E()),u<i&&(p=u,u=i,i=p),!(u>n.epsilon))s.moveTo(0,0);else if(j>n.tau-n.epsilon)s.moveTo(u*n.cos(c),u*n.sin(c)),s.arc(0,0,u,c,f,!l),i>n.epsilon&&(s.moveTo(i*n.cos(f),i*n.sin(f)),s.arc(0,0,i,f,c,l));else{var y=c,g=f,A=c,R=f,T=j,H=j,I=S.apply(this,arguments)/2,O=I>n.epsilon&&(P?+P.apply(this,arguments):n.sqrt(i*i+u*u)),q=n.min(n.abs(u-i)/2,+D.apply(this,arguments)),d=q,m=q,a,t;if(O>n.epsilon){var z=n.asin(O/i*n.sin(I)),F=n.asin(O/u*n.sin(I));(T-=z*2)>n.epsilon?(z*=l?1:-1,A+=z,R-=z):(T=0,A=R=(c+f)/2),(H-=F*2)>n.epsilon?(F*=l?1:-1,y+=F,g-=F):(H=0,y=g=(c+f)/2)}var B=u*n.cos(y),C=u*n.sin(y),G=i*n.cos(R),J=i*n.sin(R);if(q>n.epsilon){var K=u*n.cos(g),L=u*n.sin(g),N=i*n.cos(A),Q=i*n.sin(A),w;if(j<n.pi)if(w=en(B,C,N,Q,K,L,G,J)){var U=B-w[0],V=C-w[1],W=K-w[0],X=L-w[1],Y=1/n.sin(n.acos((U*W+V*X)/(n.sqrt(U*U+V*V)*n.sqrt(W*W+X*X)))/2),Z=n.sqrt(w[0]*w[0]+w[1]*w[1]);d=n.min(q,(i-Z)/(Y-1)),m=n.min(q,(u-Z)/(Y+1))}else d=m=0}H>n.epsilon?m>n.epsilon?(a=M(N,Q,B,C,u,m,l),t=M(K,L,G,J,u,m,l),s.moveTo(a.cx+a.x01,a.cy+a.y01),m<q?s.arc(a.cx,a.cy,m,n.atan2(a.y01,a.x01),n.atan2(t.y01,t.x01),!l):(s.arc(a.cx,a.cy,m,n.atan2(a.y01,a.x01),n.atan2(a.y11,a.x11),!l),s.arc(0,0,u,n.atan2(a.cy+a.y11,a.cx+a.x11),n.atan2(t.cy+t.y11,t.cx+t.x11),!l),s.arc(t.cx,t.cy,m,n.atan2(t.y11,t.x11),n.atan2(t.y01,t.x01),!l))):(s.moveTo(B,C),s.arc(0,0,u,y,g,!l)):s.moveTo(B,C),!(i>n.epsilon)||!(T>n.epsilon)?s.lineTo(G,J):d>n.epsilon?(a=M(G,J,K,L,i,-d,l),t=M(B,C,N,Q,i,-d,l),s.lineTo(a.cx+a.x01,a.cy+a.y01),d<q?s.arc(a.cx,a.cy,d,n.atan2(a.y01,a.x01),n.atan2(t.y01,t.x01),!l):(s.arc(a.cx,a.cy,d,n.atan2(a.y01,a.x01),n.atan2(a.y11,a.x11),!l),s.arc(0,0,i,n.atan2(a.cy+a.y11,a.cx+a.x11),n.atan2(t.cy+t.y11,t.cx+t.x11),l),s.arc(t.cx,t.cy,d,n.atan2(t.y11,t.x11),n.atan2(t.y01,t.x01),!l))):s.arc(0,0,i,R,A,l)}if(s.closePath(),e)return s=null,e+""||null}return r.centroid=function(){var e=(+o.apply(this,arguments)+ +x.apply(this,arguments))/2,p=(+h.apply(this,arguments)+ +v.apply(this,arguments))/2-n.pi/2;return[n.cos(p)*e,n.sin(p)*e]},r.innerRadius=function(e){return arguments.length?(o=typeof e=="function"?e:n.constant(+e),r):o},r.outerRadius=function(e){return arguments.length?(x=typeof e=="function"?e:n.constant(+e),r):x},r.cornerRadius=function(e){return arguments.length?(D=typeof e=="function"?e:n.constant(+e),r):D},r.padRadius=function(e){return arguments.length?(P=e==null?null:typeof e=="function"?e:n.constant(+e),r):P},r.startAngle=function(e){return arguments.length?(h=typeof e=="function"?e:n.constant(+e),r):h},r.endAngle=function(e){return arguments.length?(v=typeof e=="function"?e:n.constant(+e),r):v},r.padAngle=function(e){return arguments.length?(S=typeof e=="function"?e:n.constant(+e),r):S},r.context=function(e){return arguments.length?(s=e??null,r):s},r}exports.d3arc=an;
@@ -1,4 +1,4 @@
1
- import { aE as ln, aF as an, aG as y, aH as tn, aI as M, aJ as E, aK as _, aL as un, aM as rn, aN as j, aO as o, aP as H, aQ as sn, aR as on, aS as fn } from "./extractHeadings-DZi9v6vp.js";
1
+ import { aF as ln, aG as an, aH as y, aI as tn, aJ as M, aK as I, aL as _, aM as un, aN as rn, aO as j, aP as o, aQ as H, aR as sn, aS as on, aT as fn } from "./extractHeadings-OhPxZ04C.js";
2
2
  function cn(l) {
3
3
  return l.innerRadius;
4
4
  }
@@ -14,13 +14,13 @@ function dn(l) {
14
14
  function mn(l) {
15
15
  return l && l.padAngle;
16
16
  }
17
- function pn(l, h, S, I, v, R, J, a) {
18
- var q = S - l, i = I - h, n = J - v, d = a - R, u = d * q - n * i;
17
+ function pn(l, h, q, O, v, R, J, a) {
18
+ var D = q - l, i = O - h, n = J - v, d = a - R, u = d * D - n * i;
19
19
  if (!(u * u < y))
20
- return u = (n * (h - R) - d * (l - v)) / u, [l + u * q, h + u * i];
20
+ return u = (n * (h - R) - d * (l - v)) / u, [l + u * D, h + u * i];
21
21
  }
22
- function W(l, h, S, I, v, R, J) {
23
- var a = l - S, q = h - I, i = (J ? R : -R) / j(a * a + q * q), n = i * q, d = -i * a, u = l + n, s = h + d, f = S + n, c = I + d, K = (u + f) / 2, t = (s + c) / 2, m = f - u, g = c - s, A = m * m + g * g, T = v - R, P = u * c - f * s, D = (g < 0 ? -1 : 1) * j(fn(0, T * T * A - P * P)), F = (P * g - m * D) / A, G = (-P * m - g * D) / A, w = (P * g + m * D) / A, p = (-P * m + g * D) / A, x = F - K, e = G - t, r = w - K, L = p - t;
22
+ function W(l, h, q, O, v, R, J) {
23
+ var a = l - q, D = h - O, i = (J ? R : -R) / j(a * a + D * D), n = i * D, d = -i * a, u = l + n, s = h + d, f = q + n, c = O + d, K = (u + f) / 2, t = (s + c) / 2, m = f - u, g = c - s, A = m * m + g * g, T = v - R, P = u * c - f * s, E = (g < 0 ? -1 : 1) * j(fn(0, T * T * A - P * P)), F = (P * g - m * E) / A, G = (-P * m - g * E) / A, w = (P * g + m * E) / A, p = (-P * m + g * E) / A, x = F - K, e = G - t, r = w - K, L = p - t;
24
24
  return x * x + e * e > r * r + L * L && (F = w, G = p), {
25
25
  cx: F,
26
26
  cy: G,
@@ -31,43 +31,43 @@ function W(l, h, S, I, v, R, J) {
31
31
  };
32
32
  }
33
33
  function hn() {
34
- var l = cn, h = yn, S = H(0), I = null, v = gn, R = dn, J = mn, a = null, q = ln(i);
34
+ var l = cn, h = yn, q = H(0), O = null, v = gn, R = dn, J = mn, a = null, D = ln(i);
35
35
  function i() {
36
36
  var n, d, u = +l.apply(this, arguments), s = +h.apply(this, arguments), f = v.apply(this, arguments) - an, c = R.apply(this, arguments) - an, K = un(c - f), t = c > f;
37
- if (a || (a = n = q()), s < u && (d = s, s = u, u = d), !(s > y)) a.moveTo(0, 0);
37
+ if (a || (a = n = D()), s < u && (d = s, s = u, u = d), !(s > y)) a.moveTo(0, 0);
38
38
  else if (K > tn - y)
39
- a.moveTo(s * M(f), s * E(f)), a.arc(0, 0, s, f, c, !t), u > y && (a.moveTo(u * M(c), u * E(c)), a.arc(0, 0, u, c, f, t));
39
+ a.moveTo(s * M(f), s * I(f)), a.arc(0, 0, s, f, c, !t), u > y && (a.moveTo(u * M(c), u * I(c)), a.arc(0, 0, u, c, f, t));
40
40
  else {
41
- var m = f, g = c, A = f, T = c, P = K, D = K, F = J.apply(this, arguments) / 2, G = F > y && (I ? +I.apply(this, arguments) : j(u * u + s * s)), w = _(un(s - u) / 2, +S.apply(this, arguments)), p = w, x = w, e, r;
41
+ var m = f, g = c, A = f, T = c, P = K, E = K, F = J.apply(this, arguments) / 2, G = F > y && (O ? +O.apply(this, arguments) : j(u * u + s * s)), w = _(un(s - u) / 2, +q.apply(this, arguments)), p = w, x = w, e, r;
42
42
  if (G > y) {
43
- var L = sn(G / u * E(F)), z = sn(G / s * E(F));
44
- (P -= L * 2) > y ? (L *= t ? 1 : -1, A += L, T -= L) : (P = 0, A = T = (f + c) / 2), (D -= z * 2) > y ? (z *= t ? 1 : -1, m += z, g -= z) : (D = 0, m = g = (f + c) / 2);
43
+ var L = sn(G / u * I(F)), z = sn(G / s * I(F));
44
+ (P -= L * 2) > y ? (L *= t ? 1 : -1, A += L, T -= L) : (P = 0, A = T = (f + c) / 2), (E -= z * 2) > y ? (z *= t ? 1 : -1, m += z, g -= z) : (E = 0, m = g = (f + c) / 2);
45
45
  }
46
- var N = s * M(m), Q = s * E(m), B = u * M(T), C = u * E(T);
46
+ var N = s * M(m), Q = s * I(m), B = u * M(T), C = u * I(T);
47
47
  if (w > y) {
48
- var U = s * M(g), V = s * E(g), X = u * M(A), Y = u * E(A), O;
48
+ var U = s * M(g), V = s * I(g), X = u * M(A), Y = u * I(A), S;
49
49
  if (K < rn)
50
- if (O = pn(N, Q, X, Y, U, V, B, C)) {
51
- var Z = N - O[0], $ = Q - O[1], k = U - O[0], b = V - O[1], nn = 1 / E(on((Z * k + $ * b) / (j(Z * Z + $ * $) * j(k * k + b * b))) / 2), en = j(O[0] * O[0] + O[1] * O[1]);
50
+ if (S = pn(N, Q, X, Y, U, V, B, C)) {
51
+ var Z = N - S[0], $ = Q - S[1], k = U - S[0], b = V - S[1], nn = 1 / I(on((Z * k + $ * b) / (j(Z * Z + $ * $) * j(k * k + b * b))) / 2), en = j(S[0] * S[0] + S[1] * S[1]);
52
52
  p = _(w, (u - en) / (nn - 1)), x = _(w, (s - en) / (nn + 1));
53
53
  } else
54
54
  p = x = 0;
55
55
  }
56
- D > y ? x > y ? (e = W(X, Y, N, Q, s, x, t), r = W(U, V, B, C, s, x, t), a.moveTo(e.cx + e.x01, e.cy + e.y01), x < w ? a.arc(e.cx, e.cy, x, o(e.y01, e.x01), o(r.y01, r.x01), !t) : (a.arc(e.cx, e.cy, x, o(e.y01, e.x01), o(e.y11, e.x11), !t), a.arc(0, 0, s, o(e.cy + e.y11, e.cx + e.x11), o(r.cy + r.y11, r.cx + r.x11), !t), a.arc(r.cx, r.cy, x, o(r.y11, r.x11), o(r.y01, r.x01), !t))) : (a.moveTo(N, Q), a.arc(0, 0, s, m, g, !t)) : a.moveTo(N, Q), !(u > y) || !(P > y) ? a.lineTo(B, C) : p > y ? (e = W(B, C, U, V, u, -p, t), r = W(N, Q, X, Y, u, -p, t), a.lineTo(e.cx + e.x01, e.cy + e.y01), p < w ? a.arc(e.cx, e.cy, p, o(e.y01, e.x01), o(r.y01, r.x01), !t) : (a.arc(e.cx, e.cy, p, o(e.y01, e.x01), o(e.y11, e.x11), !t), a.arc(0, 0, u, o(e.cy + e.y11, e.cx + e.x11), o(r.cy + r.y11, r.cx + r.x11), t), a.arc(r.cx, r.cy, p, o(r.y11, r.x11), o(r.y01, r.x01), !t))) : a.arc(0, 0, u, T, A, t);
56
+ E > y ? x > y ? (e = W(X, Y, N, Q, s, x, t), r = W(U, V, B, C, s, x, t), a.moveTo(e.cx + e.x01, e.cy + e.y01), x < w ? a.arc(e.cx, e.cy, x, o(e.y01, e.x01), o(r.y01, r.x01), !t) : (a.arc(e.cx, e.cy, x, o(e.y01, e.x01), o(e.y11, e.x11), !t), a.arc(0, 0, s, o(e.cy + e.y11, e.cx + e.x11), o(r.cy + r.y11, r.cx + r.x11), !t), a.arc(r.cx, r.cy, x, o(r.y11, r.x11), o(r.y01, r.x01), !t))) : (a.moveTo(N, Q), a.arc(0, 0, s, m, g, !t)) : a.moveTo(N, Q), !(u > y) || !(P > y) ? a.lineTo(B, C) : p > y ? (e = W(B, C, U, V, u, -p, t), r = W(N, Q, X, Y, u, -p, t), a.lineTo(e.cx + e.x01, e.cy + e.y01), p < w ? a.arc(e.cx, e.cy, p, o(e.y01, e.x01), o(r.y01, r.x01), !t) : (a.arc(e.cx, e.cy, p, o(e.y01, e.x01), o(e.y11, e.x11), !t), a.arc(0, 0, u, o(e.cy + e.y11, e.cx + e.x11), o(r.cy + r.y11, r.cx + r.x11), t), a.arc(r.cx, r.cy, p, o(r.y11, r.x11), o(r.y01, r.x01), !t))) : a.arc(0, 0, u, T, A, t);
57
57
  }
58
58
  if (a.closePath(), n) return a = null, n + "" || null;
59
59
  }
60
60
  return i.centroid = function() {
61
61
  var n = (+l.apply(this, arguments) + +h.apply(this, arguments)) / 2, d = (+v.apply(this, arguments) + +R.apply(this, arguments)) / 2 - rn / 2;
62
- return [M(d) * n, E(d) * n];
62
+ return [M(d) * n, I(d) * n];
63
63
  }, i.innerRadius = function(n) {
64
64
  return arguments.length ? (l = typeof n == "function" ? n : H(+n), i) : l;
65
65
  }, i.outerRadius = function(n) {
66
66
  return arguments.length ? (h = typeof n == "function" ? n : H(+n), i) : h;
67
67
  }, i.cornerRadius = function(n) {
68
- return arguments.length ? (S = typeof n == "function" ? n : H(+n), i) : S;
68
+ return arguments.length ? (q = typeof n == "function" ? n : H(+n), i) : q;
69
69
  }, i.padRadius = function(n) {
70
- return arguments.length ? (I = n == null ? null : typeof n == "function" ? n : H(+n), i) : I;
70
+ return arguments.length ? (O = n == null ? null : typeof n == "function" ? n : H(+n), i) : O;
71
71
  }, i.startAngle = function(n) {
72
72
  return arguments.length ? (v = typeof n == "function" ? n : H(+n), i) : v;
73
73
  }, i.endAngle = function(n) {
@@ -1,5 +1,5 @@
1
- import { p as Ze } from "./chunk-JWPE2WC7-C01naS5D.js";
2
- import { bM as qe, _ as gt, am as Qe, aC as Je, R as Fe, K as Ke, J as je, a7 as _e, a8 as tr, G as er, A as rr, ad as ir, aj as ar, ah as nr, ak as or, O as Ee, bF as Te, aY as pe, X as sr, Q as hr, ac as lr, aZ as fr, bN as cr } from "./extractHeadings-DZi9v6vp.js";
1
+ import { p as Ze } from "./chunk-JWPE2WC7-COh8RdRz.js";
2
+ import { bN as qe, _ as gt, an as Qe, aD as Je, U as Fe, O as Ke, K as je, a8 as _e, a9 as tr, J as er, G as rr, ae as ir, ak as ar, ai as nr, al as or, Q as Ee, bG as Te, aZ as pe, Y as sr, R as hr, ad as lr, a_ as fr, bO as cr } from "./extractHeadings-OhPxZ04C.js";
3
3
  import { p as gr } from "./cynefin-VYW2F7L2-Bkk-F_Js.js";
4
4
  import { c as be } from "./cytoscape.esm-kVAWcYoG.js";
5
5
  var he = { exports: {} }, le = { exports: {} }, fe = { exports: {} }, ur = fe.exports, Oe;