@chrome-acp/proxy-server 1.0.14 → 1.0.16

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 (120) hide show
  1. package/dist/mcp/types.d.ts +29 -32
  2. package/dist/mcp/types.d.ts.map +1 -1
  3. package/dist/mcp/types.js.map +1 -1
  4. package/dist/server.d.ts.map +1 -1
  5. package/dist/server.js +26 -4
  6. package/dist/server.js.map +1 -1
  7. package/package.json +1 -1
  8. package/public/assets/{architectureDiagram-VXUJARFQ-wjPFzNar.js → architectureDiagram-VXUJARFQ-ERfmZBZO.js} +2 -2
  9. package/public/assets/{architectureDiagram-VXUJARFQ-wjPFzNar.js.map → architectureDiagram-VXUJARFQ-ERfmZBZO.js.map} +1 -1
  10. package/public/assets/{blockDiagram-VD42YOAC-Bow3HM3P.js → blockDiagram-VD42YOAC-Do2HjB0Z.js} +2 -2
  11. package/public/assets/{blockDiagram-VD42YOAC-Bow3HM3P.js.map → blockDiagram-VD42YOAC-Do2HjB0Z.js.map} +1 -1
  12. package/public/assets/{c4Diagram-YG6GDRKO-SQHtWv3g.js → c4Diagram-YG6GDRKO-DJnxx7fH.js} +2 -2
  13. package/public/assets/{c4Diagram-YG6GDRKO-SQHtWv3g.js.map → c4Diagram-YG6GDRKO-DJnxx7fH.js.map} +1 -1
  14. package/public/assets/channel-ByUlP8on.js +2 -0
  15. package/public/assets/{channel-pKLLLs1E.js.map → channel-ByUlP8on.js.map} +1 -1
  16. package/public/assets/{chunk-ABZYJK2D-x9qEUFTA.js → chunk-ABZYJK2D-4V3xBx2D.js} +3 -3
  17. package/public/assets/{chunk-ABZYJK2D-x9qEUFTA.js.map → chunk-ABZYJK2D-4V3xBx2D.js.map} +1 -1
  18. package/public/assets/{chunk-ATLVNIR6-D0SaqbxC.js → chunk-ATLVNIR6-DCub4004.js} +2 -2
  19. package/public/assets/{chunk-ATLVNIR6-D0SaqbxC.js.map → chunk-ATLVNIR6-DCub4004.js.map} +1 -1
  20. package/public/assets/{chunk-B4BG7PRW-CSi9IqPy.js → chunk-B4BG7PRW-DH_dyws5.js} +2 -2
  21. package/public/assets/{chunk-B4BG7PRW-CSi9IqPy.js.map → chunk-B4BG7PRW-DH_dyws5.js.map} +1 -1
  22. package/public/assets/{chunk-DI55MBZ5-CjGu8W9o.js → chunk-DI55MBZ5-BdKNset0.js} +2 -2
  23. package/public/assets/{chunk-DI55MBZ5-CjGu8W9o.js.map → chunk-DI55MBZ5-BdKNset0.js.map} +1 -1
  24. package/public/assets/{chunk-EXTU4WIE-FY5Pwz_y.js → chunk-EXTU4WIE-BhjM7T9E.js} +2 -2
  25. package/public/assets/{chunk-EXTU4WIE-FY5Pwz_y.js.map → chunk-EXTU4WIE-BhjM7T9E.js.map} +1 -1
  26. package/public/assets/{chunk-JA3XYJ7Z-BkoNu2jJ.js → chunk-JA3XYJ7Z-DFEpfAPm.js} +2 -2
  27. package/public/assets/{chunk-JA3XYJ7Z-BkoNu2jJ.js.map → chunk-JA3XYJ7Z-DFEpfAPm.js.map} +1 -1
  28. package/public/assets/{chunk-JZLCHNYA-DC3nqPAp.js → chunk-JZLCHNYA--0HCyKSB.js} +2 -2
  29. package/public/assets/{chunk-JZLCHNYA-DC3nqPAp.js.map → chunk-JZLCHNYA--0HCyKSB.js.map} +1 -1
  30. package/public/assets/{chunk-N4CR4FBY-B6bbaafi.js → chunk-N4CR4FBY-BbZEJGzH.js} +3 -3
  31. package/public/assets/{chunk-N4CR4FBY-B6bbaafi.js.map → chunk-N4CR4FBY-BbZEJGzH.js.map} +1 -1
  32. package/public/assets/{chunk-QN33PNHL-DKVBKRLD.js → chunk-QN33PNHL-BUlRs8Gu.js} +2 -2
  33. package/public/assets/{chunk-QN33PNHL-DKVBKRLD.js.map → chunk-QN33PNHL-BUlRs8Gu.js.map} +1 -1
  34. package/public/assets/{chunk-QXUST7PY-CV4pkmTu.js → chunk-QXUST7PY-t91kbxTi.js} +2 -2
  35. package/public/assets/{chunk-QXUST7PY-CV4pkmTu.js.map → chunk-QXUST7PY-t91kbxTi.js.map} +1 -1
  36. package/public/assets/{chunk-S3R3BYOJ-6YeBT-eZ.js → chunk-S3R3BYOJ-DKNuA38_.js} +2 -2
  37. package/public/assets/{chunk-S3R3BYOJ-6YeBT-eZ.js.map → chunk-S3R3BYOJ-DKNuA38_.js.map} +1 -1
  38. package/public/assets/{chunk-TZMSLE5B-CZ4oRZWD.js → chunk-TZMSLE5B-ZI5Is7DP.js} +2 -2
  39. package/public/assets/{chunk-TZMSLE5B-CZ4oRZWD.js.map → chunk-TZMSLE5B-ZI5Is7DP.js.map} +1 -1
  40. package/public/assets/classDiagram-2ON5EDUG-DvJh-abz.js +2 -0
  41. package/public/assets/{classDiagram-2ON5EDUG-D8v77MD7.js.map → classDiagram-2ON5EDUG-DvJh-abz.js.map} +1 -1
  42. package/public/assets/classDiagram-v2-WZHVMYZB-DPnIn5s9.js +2 -0
  43. package/public/assets/{classDiagram-v2-WZHVMYZB-DrGCW_EL.js.map → classDiagram-v2-WZHVMYZB-DPnIn5s9.js.map} +1 -1
  44. package/public/assets/clone--vBohEtN.js +2 -0
  45. package/public/assets/{clone-cscKn85s.js.map → clone--vBohEtN.js.map} +1 -1
  46. package/public/assets/{code-block-IT6T5CEO-Cir7lBBX.js → code-block-IT6T5CEO-nC1YczKC.js} +2 -2
  47. package/public/assets/{code-block-IT6T5CEO-Cir7lBBX.js.map → code-block-IT6T5CEO-nC1YczKC.js.map} +1 -1
  48. package/public/assets/{dagre-6UL2VRFP-CW0qvz_s.js → dagre-6UL2VRFP-CUvrKiYW.js} +2 -2
  49. package/public/assets/{dagre-6UL2VRFP-CW0qvz_s.js.map → dagre-6UL2VRFP-CUvrKiYW.js.map} +1 -1
  50. package/public/assets/{dagre-Cl3mneui.js → dagre-yyBB715u.js} +2 -2
  51. package/public/assets/{dagre-Cl3mneui.js.map → dagre-yyBB715u.js.map} +1 -1
  52. package/public/assets/{diagram-PSM6KHXK-CsGot5qe.js → diagram-PSM6KHXK-D1PbEKpY.js} +2 -2
  53. package/public/assets/{diagram-PSM6KHXK-CsGot5qe.js.map → diagram-PSM6KHXK-D1PbEKpY.js.map} +1 -1
  54. package/public/assets/{diagram-QEK2KX5R-Dk_Ips1R.js → diagram-QEK2KX5R-43BWK26_.js} +2 -2
  55. package/public/assets/{diagram-QEK2KX5R-Dk_Ips1R.js.map → diagram-QEK2KX5R-43BWK26_.js.map} +1 -1
  56. package/public/assets/{diagram-S2PKOQOG-DVCkBYgt.js → diagram-S2PKOQOG-BqCGm98C.js} +2 -2
  57. package/public/assets/{diagram-S2PKOQOG-DVCkBYgt.js.map → diagram-S2PKOQOG-BqCGm98C.js.map} +1 -1
  58. package/public/assets/{erDiagram-Q2GNP2WA-CDMoNqWr.js → erDiagram-Q2GNP2WA-DT8X0Bkj.js} +2 -2
  59. package/public/assets/{erDiagram-Q2GNP2WA-CDMoNqWr.js.map → erDiagram-Q2GNP2WA-DT8X0Bkj.js.map} +1 -1
  60. package/public/assets/{flowDiagram-NV44I4VS-CRYIfhzR.js → flowDiagram-NV44I4VS-t9Tw5aTg.js} +2 -2
  61. package/public/assets/{flowDiagram-NV44I4VS-CRYIfhzR.js.map → flowDiagram-NV44I4VS-t9Tw5aTg.js.map} +1 -1
  62. package/public/assets/{ganttDiagram-JELNMOA3-BbkuHdg9.js → ganttDiagram-JELNMOA3-BBKujC33.js} +2 -2
  63. package/public/assets/{ganttDiagram-JELNMOA3-BbkuHdg9.js.map → ganttDiagram-JELNMOA3-BBKujC33.js.map} +1 -1
  64. package/public/assets/{gitGraphDiagram-NY62KEGX-o3Bg7nmx.js → gitGraphDiagram-NY62KEGX-9rrEkUeV.js} +2 -2
  65. package/public/assets/{gitGraphDiagram-NY62KEGX-o3Bg7nmx.js.map → gitGraphDiagram-NY62KEGX-9rrEkUeV.js.map} +1 -1
  66. package/public/assets/{graphlib-CJzlAqCt.js → graphlib-CDA3kMcX.js} +2 -2
  67. package/public/assets/{graphlib-CJzlAqCt.js.map → graphlib-CDA3kMcX.js.map} +1 -1
  68. package/public/assets/{infoDiagram-WHAUD3N6-BIutCfum.js → infoDiagram-WHAUD3N6-BGL4Sxno.js} +2 -2
  69. package/public/assets/{infoDiagram-WHAUD3N6-BIutCfum.js.map → infoDiagram-WHAUD3N6-BGL4Sxno.js.map} +1 -1
  70. package/public/assets/{journeyDiagram-XKPGCS4Q-TLxotP0p.js → journeyDiagram-XKPGCS4Q-CHcHWwKh.js} +2 -2
  71. package/public/assets/{journeyDiagram-XKPGCS4Q-TLxotP0p.js.map → journeyDiagram-XKPGCS4Q-CHcHWwKh.js.map} +1 -1
  72. package/public/assets/{kanban-definition-3W4ZIXB7-B_QHM6Sw.js → kanban-definition-3W4ZIXB7-BMr9yQtH.js} +2 -2
  73. package/public/assets/{kanban-definition-3W4ZIXB7-B_QHM6Sw.js.map → kanban-definition-3W4ZIXB7-BMr9yQtH.js.map} +1 -1
  74. package/public/assets/katex-BXZ6-Hmb.js +1 -0
  75. package/public/assets/{line-B9W3o98k.js → line-BxFlNVl2.js} +2 -2
  76. package/public/assets/{line-B9W3o98k.js.map → line-BxFlNVl2.js.map} +1 -1
  77. package/public/assets/main-rtUrro6N.js +379 -0
  78. package/public/assets/main-rtUrro6N.js.map +1 -0
  79. package/public/assets/mermaid-VLURNSYL-Dt6lsMZf.js +1 -0
  80. package/public/assets/{mermaid.core-CpgIepIq.js → mermaid.core-CHOGuA8G.js} +4 -4
  81. package/public/assets/{mermaid.core-CpgIepIq.js.map → mermaid.core-CHOGuA8G.js.map} +1 -1
  82. package/public/assets/{mindmap-definition-VGOIOE7T-BJ758uf4.js → mindmap-definition-VGOIOE7T-CQ3jo7T_.js} +2 -2
  83. package/public/assets/{mindmap-definition-VGOIOE7T-BJ758uf4.js.map → mindmap-definition-VGOIOE7T-CQ3jo7T_.js.map} +1 -1
  84. package/public/assets/{pieDiagram-ADFJNKIX-Dd8dtgHZ.js → pieDiagram-ADFJNKIX-BskQ5vji.js} +2 -2
  85. package/public/assets/{pieDiagram-ADFJNKIX-Dd8dtgHZ.js.map → pieDiagram-ADFJNKIX-BskQ5vji.js.map} +1 -1
  86. package/public/assets/{quadrantDiagram-AYHSOK5B-DelknGes.js → quadrantDiagram-AYHSOK5B-Bim0kCz4.js} +2 -2
  87. package/public/assets/{quadrantDiagram-AYHSOK5B-DelknGes.js.map → quadrantDiagram-AYHSOK5B-Bim0kCz4.js.map} +1 -1
  88. package/public/assets/radix-CWcw-_TU.js +2 -0
  89. package/public/assets/radix-CWcw-_TU.js.map +1 -0
  90. package/public/assets/react-DC6mq9sj.js +10 -0
  91. package/public/assets/react-DC6mq9sj.js.map +1 -0
  92. package/public/assets/{requirementDiagram-UZGBJVZJ-CGCbxKd6.js → requirementDiagram-UZGBJVZJ-BThYhHgo.js} +2 -2
  93. package/public/assets/{requirementDiagram-UZGBJVZJ-CGCbxKd6.js.map → requirementDiagram-UZGBJVZJ-BThYhHgo.js.map} +1 -1
  94. package/public/assets/{sankeyDiagram-TZEHDZUN-UOBpib_k.js → sankeyDiagram-TZEHDZUN-Cu7jxbPR.js} +2 -2
  95. package/public/assets/{sankeyDiagram-TZEHDZUN-UOBpib_k.js.map → sankeyDiagram-TZEHDZUN-Cu7jxbPR.js.map} +1 -1
  96. package/public/assets/{sequenceDiagram-WL72ISMW-BuIva0Lb.js → sequenceDiagram-WL72ISMW-CYpkyiQa.js} +2 -2
  97. package/public/assets/{sequenceDiagram-WL72ISMW-BuIva0Lb.js.map → sequenceDiagram-WL72ISMW-CYpkyiQa.js.map} +1 -1
  98. package/public/assets/{stateDiagram-FKZM4ZOC-DMM22UFw.js → stateDiagram-FKZM4ZOC-CpduAaAE.js} +2 -2
  99. package/public/assets/{stateDiagram-FKZM4ZOC-DMM22UFw.js.map → stateDiagram-FKZM4ZOC-CpduAaAE.js.map} +1 -1
  100. package/public/assets/stateDiagram-v2-4FDKWEC3-BbGisRuk.js +2 -0
  101. package/public/assets/{stateDiagram-v2-4FDKWEC3-DoQv2RVT.js.map → stateDiagram-v2-4FDKWEC3-BbGisRuk.js.map} +1 -1
  102. package/public/assets/{timeline-definition-IT6M3QCI-BuulvLu6.js → timeline-definition-IT6M3QCI-zPIkl5WF.js} +2 -2
  103. package/public/assets/{timeline-definition-IT6M3QCI-BuulvLu6.js.map → timeline-definition-IT6M3QCI-zPIkl5WF.js.map} +1 -1
  104. package/public/assets/{xychartDiagram-PRI3JC2R-BNUCwm4v.js → xychartDiagram-PRI3JC2R-BqEbqHoy.js} +2 -2
  105. package/public/assets/{xychartDiagram-PRI3JC2R-BNUCwm4v.js.map → xychartDiagram-PRI3JC2R-BqEbqHoy.js.map} +1 -1
  106. package/public/index.html +3 -3
  107. package/public/sw.js +2 -1
  108. package/public/assets/channel-pKLLLs1E.js +0 -2
  109. package/public/assets/classDiagram-2ON5EDUG-D8v77MD7.js +0 -2
  110. package/public/assets/classDiagram-v2-WZHVMYZB-DrGCW_EL.js +0 -2
  111. package/public/assets/clone-cscKn85s.js +0 -2
  112. package/public/assets/katex-Bnbp0kKK.js +0 -1
  113. package/public/assets/main-BxrWPNWG.js +0 -379
  114. package/public/assets/main-BxrWPNWG.js.map +0 -1
  115. package/public/assets/mermaid-VLURNSYL-Dwtbd3VO.js +0 -1
  116. package/public/assets/radix-CyrXeX7S.js +0 -2
  117. package/public/assets/radix-CyrXeX7S.js.map +0 -1
  118. package/public/assets/react-BU7bKLEa.js +0 -10
  119. package/public/assets/react-BU7bKLEa.js.map +0 -1
  120. package/public/assets/stateDiagram-v2-4FDKWEC3-DoQv2RVT.js +0 -2
@@ -1,4 +1,4 @@
1
- import{a as e}from"./main-BxrWPNWG.js";import{g as t,h as n,p as r}from"./src-CK1-XQNk.js";import{I as i,N as a,O as o,s,y as c}from"./chunk-ABZYJK2D-x9qEUFTA.js";import{a as l}from"./chunk-S3R3BYOJ-6YeBT-eZ.js";var u=Object.freeze({left:0,top:0,width:16,height:16}),d=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),f=Object.freeze({...u,...d}),p=Object.freeze({...f,body:``,hidden:!1}),m=Object.freeze({width:null,height:null}),h=Object.freeze({...m,...d}),g=(e,t,n,r=``)=>{let i=e.split(`:`);if(e.slice(0,1)===`@`){if(i.length<2||i.length>3)return null;r=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){let e=i.pop(),n=i.pop(),a={provider:i.length>0?i[0]:r,prefix:n,name:e};return t&&!_(a)?null:a}let a=i[0],o=a.split(`-`);if(o.length>1){let e={provider:r,prefix:o.shift(),name:o.join(`-`)};return t&&!_(e)?null:e}if(n&&r===``){let e={provider:r,prefix:``,name:a};return t&&!_(e,n)?null:e}return null},_=(e,t)=>e?!!((t&&e.prefix===``||e.prefix)&&e.name):!1;function v(e,t){let n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);let r=((e.rotate||0)+(t.rotate||0))%4;return r&&(n.rotate=r),n}function y(e,t){let n=v(e,t);for(let r in p)r in d?r in e&&!(r in n)&&(n[r]=d[r]):r in t?n[r]=t[r]:r in e&&(n[r]=e[r]);return n}function ee(e,t){let n=e.icons,r=e.aliases||Object.create(null),i=Object.create(null);function a(e){if(n[e])return i[e]=[];if(!(e in i)){i[e]=null;let t=r[e]&&r[e].parent,n=t&&a(t);n&&(i[e]=[t].concat(n))}return i[e]}return(t||Object.keys(n).concat(Object.keys(r))).forEach(a),i}function b(e,t,n){let r=e.icons,i=e.aliases||Object.create(null),a={};function o(e){a=y(r[e]||i[e],a)}return o(t),n.forEach(o),y(e,a)}function te(e,t){if(e.icons[t])return b(e,t,[]);let n=ee(e,[t])[t];return n?b(e,t,n):null}var x=/(-?[0-9.]*[0-9]+[0-9.]*)/g,S=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function C(e,t,n){if(t===1)return e;if(n||=100,typeof e==`number`)return Math.ceil(e*t*n)/n;if(typeof e!=`string`)return e;let r=e.split(x);if(r===null||!r.length)return e;let i=[],a=r.shift(),o=S.test(a);for(;;){if(o){let e=parseFloat(a);isNaN(e)?i.push(a):i.push(Math.ceil(e*t*n)/n)}else i.push(a);if(a=r.shift(),a===void 0)return i.join(``);o=!o}}function ne(e,t=`defs`){let n=``,r=e.indexOf(`<`+t);for(;r>=0;){let i=e.indexOf(`>`,r),a=e.indexOf(`</`+t);if(i===-1||a===-1)break;let o=e.indexOf(`>`,a);if(o===-1)break;n+=e.slice(i+1,a).trim(),e=e.slice(0,r).trim()+e.slice(o+1)}return{defs:n,content:e}}function w(e,t){return e?`<defs>`+e+`</defs>`+t:t}function T(e,t,n){let r=ne(e);return w(r.defs,t+r.content+n)}var E=e=>e===`unset`||e===`undefined`||e===`none`;function D(e,t){let n={...f,...e},r={...h,...t},i={left:n.left,top:n.top,width:n.width,height:n.height},a=n.body;[n,r].forEach(e=>{let t=[],n=e.hFlip,r=e.vFlip,o=e.rotate;n?r?o+=2:(t.push(`translate(`+(i.width+i.left).toString()+` `+(0-i.top).toString()+`)`),t.push(`scale(-1 1)`),i.top=i.left=0):r&&(t.push(`translate(`+(0-i.left).toString()+` `+(i.height+i.top).toString()+`)`),t.push(`scale(1 -1)`),i.top=i.left=0);let s;switch(o<0&&(o-=Math.floor(o/4)*4),o%=4,o){case 1:s=i.height/2+i.top,t.unshift(`rotate(90 `+s.toString()+` `+s.toString()+`)`);break;case 2:t.unshift(`rotate(180 `+(i.width/2+i.left).toString()+` `+(i.height/2+i.top).toString()+`)`);break;case 3:s=i.width/2+i.left,t.unshift(`rotate(-90 `+s.toString()+` `+s.toString()+`)`);break}o%2==1&&(i.left!==i.top&&(s=i.left,i.left=i.top,i.top=s),i.width!==i.height&&(s=i.width,i.width=i.height,i.height=s)),t.length&&(a=T(a,`<g transform="`+t.join(` `)+`">`,`</g>`))});let o=r.width,s=r.height,c=i.width,l=i.height,u,d;o===null?(d=s===null?`1em`:s===`auto`?l:s,u=C(d,c/l)):(u=o===`auto`?c:o,d=s===null?C(u,l/c):s===`auto`?l:s);let p={},m=(e,t)=>{E(t)||(p[e]=t.toString())};m(`width`,u),m(`height`,d);let g=[i.left,i.top,c,l];return p.viewBox=g.join(` `),{attributes:p,viewBox:g,body:a}}var O=/\sid="(\S+)"/g,k=new Map;function re(e){e=e.replace(/[0-9]+$/,``)||`a`;let t=k.get(e)||0;return k.set(e,t+1),t?`${e}${t}`:e}function ie(e){let t=[],n;for(;n=O.exec(e);)t.push(n[1]);if(!t.length)return e;let r=`suffix`+(Math.random()*16777216|Date.now()).toString(16);return t.forEach(t=>{let n=re(t),i=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);e=e.replace(RegExp(`([#;"])(`+i+`)([")]|\\.[a-z])`,`g`),`$1`+n+r+`$3`)}),e=e.replace(new RegExp(r,`g`),``),e}function ae(e,t){let n=e.indexOf(`xlink:`)===-1?``:` xmlns:xlink="http://www.w3.org/1999/xlink"`;for(let e in t)n+=` `+e+`="`+t[e]+`"`;return`<svg xmlns="http://www.w3.org/2000/svg"`+n+`>`+e+`</svg>`}function A(e){var t=[...arguments].slice(1),n=Array.from(typeof e==`string`?[e]:e);n[n.length-1]=n[n.length-1].replace(/\r?\n([\t ]*)$/,``);var r=n.reduce(function(e,t){var n=t.match(/\n([\t ]+|(?!\s).)/g);return n?e.concat(n.map(function(e){return e.match(/[\t ]/g)?.length??0})):e},[]);if(r.length){var i=RegExp(`
1
+ import{a as e}from"./main-rtUrro6N.js";import{g as t,h as n,p as r}from"./src-CK1-XQNk.js";import{I as i,N as a,O as o,s,y as c}from"./chunk-ABZYJK2D-4V3xBx2D.js";import{a as l}from"./chunk-S3R3BYOJ-DKNuA38_.js";var u=Object.freeze({left:0,top:0,width:16,height:16}),d=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),f=Object.freeze({...u,...d}),p=Object.freeze({...f,body:``,hidden:!1}),m=Object.freeze({width:null,height:null}),h=Object.freeze({...m,...d}),g=(e,t,n,r=``)=>{let i=e.split(`:`);if(e.slice(0,1)===`@`){if(i.length<2||i.length>3)return null;r=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){let e=i.pop(),n=i.pop(),a={provider:i.length>0?i[0]:r,prefix:n,name:e};return t&&!_(a)?null:a}let a=i[0],o=a.split(`-`);if(o.length>1){let e={provider:r,prefix:o.shift(),name:o.join(`-`)};return t&&!_(e)?null:e}if(n&&r===``){let e={provider:r,prefix:``,name:a};return t&&!_(e,n)?null:e}return null},_=(e,t)=>e?!!((t&&e.prefix===``||e.prefix)&&e.name):!1;function v(e,t){let n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);let r=((e.rotate||0)+(t.rotate||0))%4;return r&&(n.rotate=r),n}function y(e,t){let n=v(e,t);for(let r in p)r in d?r in e&&!(r in n)&&(n[r]=d[r]):r in t?n[r]=t[r]:r in e&&(n[r]=e[r]);return n}function ee(e,t){let n=e.icons,r=e.aliases||Object.create(null),i=Object.create(null);function a(e){if(n[e])return i[e]=[];if(!(e in i)){i[e]=null;let t=r[e]&&r[e].parent,n=t&&a(t);n&&(i[e]=[t].concat(n))}return i[e]}return(t||Object.keys(n).concat(Object.keys(r))).forEach(a),i}function b(e,t,n){let r=e.icons,i=e.aliases||Object.create(null),a={};function o(e){a=y(r[e]||i[e],a)}return o(t),n.forEach(o),y(e,a)}function te(e,t){if(e.icons[t])return b(e,t,[]);let n=ee(e,[t])[t];return n?b(e,t,n):null}var x=/(-?[0-9.]*[0-9]+[0-9.]*)/g,S=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function C(e,t,n){if(t===1)return e;if(n||=100,typeof e==`number`)return Math.ceil(e*t*n)/n;if(typeof e!=`string`)return e;let r=e.split(x);if(r===null||!r.length)return e;let i=[],a=r.shift(),o=S.test(a);for(;;){if(o){let e=parseFloat(a);isNaN(e)?i.push(a):i.push(Math.ceil(e*t*n)/n)}else i.push(a);if(a=r.shift(),a===void 0)return i.join(``);o=!o}}function ne(e,t=`defs`){let n=``,r=e.indexOf(`<`+t);for(;r>=0;){let i=e.indexOf(`>`,r),a=e.indexOf(`</`+t);if(i===-1||a===-1)break;let o=e.indexOf(`>`,a);if(o===-1)break;n+=e.slice(i+1,a).trim(),e=e.slice(0,r).trim()+e.slice(o+1)}return{defs:n,content:e}}function w(e,t){return e?`<defs>`+e+`</defs>`+t:t}function T(e,t,n){let r=ne(e);return w(r.defs,t+r.content+n)}var E=e=>e===`unset`||e===`undefined`||e===`none`;function D(e,t){let n={...f,...e},r={...h,...t},i={left:n.left,top:n.top,width:n.width,height:n.height},a=n.body;[n,r].forEach(e=>{let t=[],n=e.hFlip,r=e.vFlip,o=e.rotate;n?r?o+=2:(t.push(`translate(`+(i.width+i.left).toString()+` `+(0-i.top).toString()+`)`),t.push(`scale(-1 1)`),i.top=i.left=0):r&&(t.push(`translate(`+(0-i.left).toString()+` `+(i.height+i.top).toString()+`)`),t.push(`scale(1 -1)`),i.top=i.left=0);let s;switch(o<0&&(o-=Math.floor(o/4)*4),o%=4,o){case 1:s=i.height/2+i.top,t.unshift(`rotate(90 `+s.toString()+` `+s.toString()+`)`);break;case 2:t.unshift(`rotate(180 `+(i.width/2+i.left).toString()+` `+(i.height/2+i.top).toString()+`)`);break;case 3:s=i.width/2+i.left,t.unshift(`rotate(-90 `+s.toString()+` `+s.toString()+`)`);break}o%2==1&&(i.left!==i.top&&(s=i.left,i.left=i.top,i.top=s),i.width!==i.height&&(s=i.width,i.width=i.height,i.height=s)),t.length&&(a=T(a,`<g transform="`+t.join(` `)+`">`,`</g>`))});let o=r.width,s=r.height,c=i.width,l=i.height,u,d;o===null?(d=s===null?`1em`:s===`auto`?l:s,u=C(d,c/l)):(u=o===`auto`?c:o,d=s===null?C(u,l/c):s===`auto`?l:s);let p={},m=(e,t)=>{E(t)||(p[e]=t.toString())};m(`width`,u),m(`height`,d);let g=[i.left,i.top,c,l];return p.viewBox=g.join(` `),{attributes:p,viewBox:g,body:a}}var O=/\sid="(\S+)"/g,k=new Map;function re(e){e=e.replace(/[0-9]+$/,``)||`a`;let t=k.get(e)||0;return k.set(e,t+1),t?`${e}${t}`:e}function ie(e){let t=[],n;for(;n=O.exec(e);)t.push(n[1]);if(!t.length)return e;let r=`suffix`+(Math.random()*16777216|Date.now()).toString(16);return t.forEach(t=>{let n=re(t),i=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);e=e.replace(RegExp(`([#;"])(`+i+`)([")]|\\.[a-z])`,`g`),`$1`+n+r+`$3`)}),e=e.replace(new RegExp(r,`g`),``),e}function ae(e,t){let n=e.indexOf(`xlink:`)===-1?``:` xmlns:xlink="http://www.w3.org/1999/xlink"`;for(let e in t)n+=` `+e+`="`+t[e]+`"`;return`<svg xmlns="http://www.w3.org/2000/svg"`+n+`>`+e+`</svg>`}function A(e){var t=[...arguments].slice(1),n=Array.from(typeof e==`string`?[e]:e);n[n.length-1]=n[n.length-1].replace(/\r?\n([\t ]*)$/,``);var r=n.reduce(function(e,t){var n=t.match(/\n([\t ]+|(?!\s).)/g);return n?e.concat(n.map(function(e){return e.match(/[\t ]/g)?.length??0})):e},[]);if(r.length){var i=RegExp(`
2
2
  [ ]{`+Math.min.apply(Math,r)+`}`,`g`);n=n.map(function(e){return e.replace(i,`
3
3
  `)})}n[0]=n[0].replace(/^\r?\n/,``);var a=n[0];return t.forEach(function(e,t){var r=a.match(/(?:^|\n)( *)$/),i=r?r[1]:``,o=e;typeof e==`string`&&e.includes(`
4
4
  `)&&(o=String(e).split(`
@@ -9,4 +9,4 @@ import{a as e}from"./main-BxrWPNWG.js";import{g as t,h as n,p as r}from"./src-CK
9
9
  `).forEach((e,n)=>{n!==0&&(s++,o.push([])),e.split(` `).forEach(e=>{e=e.replace(/&#39;/g,`'`),e&&o[s].push({content:e,type:t})})}):e.type===`strong`||e.type===`em`?e.tokens.forEach(t=>{c(t,e.type)}):e.type===`html`&&o[s].push({content:e.text,type:`normal`})}return n(c,`processNode`),a.forEach(e=>{e.type===`paragraph`?e.tokens?.forEach(e=>{c(e)}):e.type===`html`?o[s].push({content:e.text,type:`normal`}):o[s].push({content:e.raw,type:`normal`})}),o}n(z,`markdownToLines`);function B(r,{markdownAutoWrap:i}={}){let a=e.lexer(r);function o(e){return e.type===`text`?i===!1?e.text.replace(/\n */g,`<br/>`).replace(/ /g,`&nbsp;`):e.text.replace(/\n */g,`<br/>`):e.type===`strong`?`<strong>${e.tokens?.map(o).join(``)}</strong>`:e.type===`em`?`<em>${e.tokens?.map(o).join(``)}</em>`:e.type===`paragraph`?`<p>${e.tokens?.map(o).join(``)}</p>`:e.type===`space`?``:e.type===`html`?`${e.text}`:e.type===`escape`?e.text:(t.warn(`Unsupported markdown: ${e.type}`),e.raw)}return n(o,`output`),a.map(o).join(``)}n(B,`markdownToHTML`);function V(e){return Intl.Segmenter?[...new Intl.Segmenter().segment(e)].map(e=>e.segment):[...e]}n(V,`splitTextToChars`);function H(e,t){return U(e,[],V(t.content),t.type)}n(H,`splitWordToFitWidth`);function U(e,t,n,r){if(n.length===0)return[{content:t.join(``),type:r},{content:``,type:r}];let[i,...a]=n,o=[...t,i];return e([{content:o.join(``),type:r}])?U(e,o,a,r):(t.length===0&&i&&(t.push(i),n.shift()),[{content:t.join(``),type:r},{content:n.join(``),type:r}])}n(U,`splitWordToFitWidthRecursion`);function W(e,t){if(e.some(({content:e})=>e.includes(`
10
10
  `)))throw Error(`splitLineToFitWidth does not support newlines in the line`);return G(e,t)}n(W,`splitLineToFitWidth`);function G(e,t,n=[],r=[]){if(e.length===0)return r.length>0&&n.push(r),n.length>0?n:[];let i=``;e[0].content===` `&&(i=` `,e.shift());let a=e.shift()??{content:` `,type:`normal`},o=[...r];if(i!==``&&o.push({content:i,type:`normal`}),o.push(a),t(o))return G(e,t,n,o);if(r.length>0)n.push(r),e.unshift(a);else if(a.content){let[r,i]=H(t,a);n.push([r]),i.content&&e.unshift(i)}return G(e,t,n)}n(G,`splitLineToFitWidthRecursion`);function K(e,t){t&&e.attr(`style`,t)}n(K,`applyStyle`);async function q(e,t,n,r,l=!1,u=c()){let d=e.append(`foreignObject`);d.attr(`width`,`${10*n}px`),d.attr(`height`,`${10*n}px`);let f=d.append(`xhtml:div`),p=o(t.label)?await a(t.label.replace(s.lineBreakRegex,`
11
11
  `),u):i(t.label,u),m=t.isNode?`nodeLabel`:`edgeLabel`,h=f.append(`span`);h.html(p),K(h,t.labelStyle),h.attr(`class`,`${m} ${r}`),K(f,t.labelStyle),f.style(`display`,`table-cell`),f.style(`white-space`,`nowrap`),f.style(`line-height`,`1.5`),f.style(`max-width`,n+`px`),f.style(`text-align`,`center`),f.attr(`xmlns`,`http://www.w3.org/1999/xhtml`),l&&f.attr(`class`,`labelBkg`);let g=f.node().getBoundingClientRect();return g.width===n&&(f.style(`display`,`table`),f.style(`white-space`,`break-spaces`),f.style(`width`,n+`px`),g=f.node().getBoundingClientRect()),d.node()}n(q,`addHtmlSpan`);function J(e,t,n){return e.append(`tspan`).attr(`class`,`text-outer-tspan`).attr(`x`,0).attr(`y`,t*n-.1+`em`).attr(`dy`,n+`em`)}n(J,`createTspan`);function Y(e,t,n){let r=e.append(`text`),i=J(r,1,t);Q(i,n);let a=i.node().getComputedTextLength();return r.remove(),a}n(Y,`computeWidthOfText`);function X(e,t,n){let r=e.append(`text`),i=J(r,1,t);Q(i,[{content:n,type:`normal`}]);let a=i.node()?.getBoundingClientRect();return a&&r.remove(),a}n(X,`computeDimensionOfText`);function Z(e,t,r,i=!1){let a=1.1,o=t.append(`g`),s=o.insert(`rect`).attr(`class`,`background`).attr(`style`,`stroke: none`),c=o.append(`text`).attr(`y`,`-10.1`),l=0;for(let t of r){let r=n(t=>Y(o,a,t)<=e,`checkWidth`),i=r(t)?[t]:W(t,r);for(let e of i)Q(J(c,l,a),e),l++}if(i){let e=c.node().getBBox();return s.attr(`x`,e.x-2).attr(`y`,e.y-2).attr(`width`,e.width+4).attr(`height`,e.height+4),o.node()}else return c.node()}n(Z,`createFormattedText`);function Q(e,t){e.text(``),t.forEach((t,n)=>{let r=e.append(`tspan`).attr(`font-style`,t.type===`em`?`italic`:`normal`).attr(`class`,`text-inner-tspan`).attr(`font-weight`,t.type===`strong`?`bold`:`normal`);n===0?r.text(t.content):r.text(` `+t.content)})}n(Q,`updateTextContentAndStyles`);async function $(e,t={}){let n=[];e.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(e,r,a)=>(n.push((async()=>{let n=`${r}:${a}`;return await I(n)?await L(n,void 0,{class:`label-icon`}):`<i class='${i(e,t).replace(`:`,` `)}'></i>`})()),e));let r=await Promise.all(n);return e.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>r.shift()??``)}n($,`replaceIconSubstring`);var oe=n(async(e,n=``,{style:i=``,isTitle:a=!1,classes:s=``,useHtmlLabels:c=!0,isNode:u=!0,width:d=200,addSvgBackground:f=!1}={},p)=>{if(t.debug(`XYZ createText`,n,i,a,s,c,u,`addSvgBackground: `,f),c){let t=await $(l(B(n,p)),p),r=n.replace(/\\\\/g,`\\`);return await q(e,{isNode:u,label:o(n)?r:t,labelStyle:i.replace(`fill:`,`color:`)},d,s,f,p)}else{let t=Z(d,e,z(n.replace(/<br\s*\/?>/g,`<br/>`).replace(`<br>`,`<br/>`),p),n?f:!1);if(u){/stroke:/.exec(i)&&(i=i.replace(`stroke:`,`lineColor:`));let e=i.replace(/stroke:[^;]+;?/g,``).replace(/stroke-width:[^;]+;?/g,``).replace(/fill:[^;]+;?/g,``).replace(/color:/g,`fill:`);r(t).attr(`style`,e)}else{let e=i.replace(/stroke:[^;]+;?/g,``).replace(/stroke-width:[^;]+;?/g,``).replace(/fill:[^;]+;?/g,``).replace(/background:/g,`fill:`);r(t).select(`rect`).attr(`style`,e.replace(/background:/g,`fill:`));let n=i.replace(/stroke:[^;]+;?/g,``).replace(/stroke-width:[^;]+;?/g,``).replace(/fill:[^;]+;?/g,``).replace(/color:/g,`fill:`);r(t).select(`text`).attr(`style`,n)}return t}},`createText`);export{$ as a,P as i,oe as n,j as o,L as r,A as s,X as t};
12
- //# sourceMappingURL=chunk-JA3XYJ7Z-BkoNu2jJ.js.map
12
+ //# sourceMappingURL=chunk-JA3XYJ7Z-DFEpfAPm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-JA3XYJ7Z-BkoNu2jJ.js","names":["i","marked"],"sources":["../../../../node_modules/@iconify/utils/lib/icon/defaults.js","../../../../node_modules/@iconify/utils/lib/customisations/defaults.js","../../../../node_modules/@iconify/utils/lib/icon/name.js","../../../../node_modules/@iconify/utils/lib/icon/transformations.js","../../../../node_modules/@iconify/utils/lib/icon/merge.js","../../../../node_modules/@iconify/utils/lib/icon-set/tree.js","../../../../node_modules/@iconify/utils/lib/icon-set/get-icon.js","../../../../node_modules/@iconify/utils/lib/svg/size.js","../../../../node_modules/@iconify/utils/lib/svg/defs.js","../../../../node_modules/@iconify/utils/lib/svg/build.js","../../../../node_modules/@iconify/utils/lib/svg/id.js","../../../../node_modules/@iconify/utils/lib/svg/html.js","../../../../node_modules/ts-dedent/esm/index.js","../../../../node_modules/mermaid/dist/chunks/mermaid.core/chunk-JA3XYJ7Z.mjs"],"sourcesContent":["/** Default values for dimensions */\nconst defaultIconDimensions = Object.freeze({\n\tleft: 0,\n\ttop: 0,\n\twidth: 16,\n\theight: 16\n});\n/** Default values for transformations */\nconst defaultIconTransformations = Object.freeze({\n\trotate: 0,\n\tvFlip: false,\n\thFlip: false\n});\n/** Default values for all optional IconifyIcon properties */\nconst defaultIconProps = Object.freeze({\n\t...defaultIconDimensions,\n\t...defaultIconTransformations\n});\n/** Default values for all properties used in ExtendedIconifyIcon */\nconst defaultExtendedIconProps = Object.freeze({\n\t...defaultIconProps,\n\tbody: \"\",\n\thidden: false\n});\n\nexport { defaultExtendedIconProps, defaultIconDimensions, defaultIconProps, defaultIconTransformations };","import { defaultIconTransformations } from \"../icon/defaults.js\";\n\n/**\n* Default icon customisations values\n*/\nconst defaultIconSizeCustomisations = Object.freeze({\n\twidth: null,\n\theight: null\n});\nconst defaultIconCustomisations = Object.freeze({\n\t...defaultIconSizeCustomisations,\n\t...defaultIconTransformations\n});\n\nexport { defaultIconCustomisations, defaultIconSizeCustomisations };","/**\n* Expression to test part of icon name.\n*\n* Used when loading icons from Iconify API due to project naming convension.\n* Ignored when using custom icon sets - convension does not apply.\n*/\nconst matchIconName = /^[a-z0-9]+(-[a-z0-9]+)*$/;\n/**\n* Convert string icon name to IconifyIconName object.\n*/\nconst stringToIcon = (value, validate, allowSimpleName, provider = \"\") => {\n\tconst colonSeparated = value.split(\":\");\n\tif (value.slice(0, 1) === \"@\") {\n\t\tif (colonSeparated.length < 2 || colonSeparated.length > 3) return null;\n\t\tprovider = colonSeparated.shift().slice(1);\n\t}\n\tif (colonSeparated.length > 3 || !colonSeparated.length) return null;\n\tif (colonSeparated.length > 1) {\n\t\tconst name$1 = colonSeparated.pop();\n\t\tconst prefix = colonSeparated.pop();\n\t\tconst result = {\n\t\t\tprovider: colonSeparated.length > 0 ? colonSeparated[0] : provider,\n\t\t\tprefix,\n\t\t\tname: name$1\n\t\t};\n\t\treturn validate && !validateIconName(result) ? null : result;\n\t}\n\tconst name = colonSeparated[0];\n\tconst dashSeparated = name.split(\"-\");\n\tif (dashSeparated.length > 1) {\n\t\tconst result = {\n\t\t\tprovider,\n\t\t\tprefix: dashSeparated.shift(),\n\t\t\tname: dashSeparated.join(\"-\")\n\t\t};\n\t\treturn validate && !validateIconName(result) ? null : result;\n\t}\n\tif (allowSimpleName && provider === \"\") {\n\t\tconst result = {\n\t\t\tprovider,\n\t\t\tprefix: \"\",\n\t\t\tname\n\t\t};\n\t\treturn validate && !validateIconName(result, allowSimpleName) ? null : result;\n\t}\n\treturn null;\n};\n/**\n* Check if icon is valid.\n*\n* This function is not part of stringToIcon because validation is not needed for most code.\n*/\nconst validateIconName = (icon, allowSimpleName) => {\n\tif (!icon) return false;\n\treturn !!((allowSimpleName && icon.prefix === \"\" || !!icon.prefix) && !!icon.name);\n};\n\nexport { matchIconName, stringToIcon, validateIconName };","/**\n* Merge transformations\n*/\nfunction mergeIconTransformations(obj1, obj2) {\n\tconst result = {};\n\tif (!obj1.hFlip !== !obj2.hFlip) result.hFlip = true;\n\tif (!obj1.vFlip !== !obj2.vFlip) result.vFlip = true;\n\tconst rotate = ((obj1.rotate || 0) + (obj2.rotate || 0)) % 4;\n\tif (rotate) result.rotate = rotate;\n\treturn result;\n}\n\nexport { mergeIconTransformations };","import { defaultExtendedIconProps, defaultIconTransformations } from \"./defaults.js\";\nimport { mergeIconTransformations } from \"./transformations.js\";\n\n/**\n* Merge icon and alias\n*\n* Can also be used to merge default values and icon\n*/\nfunction mergeIconData(parent, child) {\n\tconst result = mergeIconTransformations(parent, child);\n\tfor (const key in defaultExtendedIconProps) if (key in defaultIconTransformations) {\n\t\tif (key in parent && !(key in result)) result[key] = defaultIconTransformations[key];\n\t} else if (key in child) result[key] = child[key];\n\telse if (key in parent) result[key] = parent[key];\n\treturn result;\n}\n\nexport { mergeIconData };","/**\n* Resolve icon set icons\n*\n* Returns parent icon for each icon\n*/\nfunction getIconsTree(data, names) {\n\tconst icons = data.icons;\n\tconst aliases = data.aliases || Object.create(null);\n\tconst resolved = Object.create(null);\n\tfunction resolve(name) {\n\t\tif (icons[name]) return resolved[name] = [];\n\t\tif (!(name in resolved)) {\n\t\t\tresolved[name] = null;\n\t\t\tconst parent = aliases[name] && aliases[name].parent;\n\t\t\tconst value = parent && resolve(parent);\n\t\t\tif (value) resolved[name] = [parent].concat(value);\n\t\t}\n\t\treturn resolved[name];\n\t}\n\t(names || Object.keys(icons).concat(Object.keys(aliases))).forEach(resolve);\n\treturn resolved;\n}\n\nexport { getIconsTree };","import { mergeIconData } from \"../icon/merge.js\";\nimport { getIconsTree } from \"./tree.js\";\n\n/**\n* Get icon data, using prepared aliases tree\n*/\nfunction internalGetIconData(data, name, tree) {\n\tconst icons = data.icons;\n\tconst aliases = data.aliases || Object.create(null);\n\tlet currentProps = {};\n\tfunction parse(name$1) {\n\t\tcurrentProps = mergeIconData(icons[name$1] || aliases[name$1], currentProps);\n\t}\n\tparse(name);\n\ttree.forEach(parse);\n\treturn mergeIconData(data, currentProps);\n}\n/**\n* Get data for icon\n*/\nfunction getIconData(data, name) {\n\tif (data.icons[name]) return internalGetIconData(data, name, []);\n\tconst tree = getIconsTree(data, [name])[name];\n\treturn tree ? internalGetIconData(data, name, tree) : null;\n}\n\nexport { getIconData, internalGetIconData };","/**\n* Regular expressions for calculating dimensions\n*/\nconst unitsSplit = /(-?[0-9.]*[0-9]+[0-9.]*)/g;\nconst unitsTest = /^-?[0-9.]*[0-9]+[0-9.]*$/g;\nfunction calculateSize(size, ratio, precision) {\n\tif (ratio === 1) return size;\n\tprecision = precision || 100;\n\tif (typeof size === \"number\") return Math.ceil(size * ratio * precision) / precision;\n\tif (typeof size !== \"string\") return size;\n\tconst oldParts = size.split(unitsSplit);\n\tif (oldParts === null || !oldParts.length) return size;\n\tconst newParts = [];\n\tlet code = oldParts.shift();\n\tlet isNumber = unitsTest.test(code);\n\twhile (true) {\n\t\tif (isNumber) {\n\t\t\tconst num = parseFloat(code);\n\t\t\tif (isNaN(num)) newParts.push(code);\n\t\t\telse newParts.push(Math.ceil(num * ratio * precision) / precision);\n\t\t} else newParts.push(code);\n\t\tcode = oldParts.shift();\n\t\tif (code === void 0) return newParts.join(\"\");\n\t\tisNumber = !isNumber;\n\t}\n}\n\nexport { calculateSize };","function splitSVGDefs(content, tag = \"defs\") {\n\tlet defs = \"\";\n\tconst index = content.indexOf(\"<\" + tag);\n\twhile (index >= 0) {\n\t\tconst start = content.indexOf(\">\", index);\n\t\tconst end = content.indexOf(\"</\" + tag);\n\t\tif (start === -1 || end === -1) break;\n\t\tconst endEnd = content.indexOf(\">\", end);\n\t\tif (endEnd === -1) break;\n\t\tdefs += content.slice(start + 1, end).trim();\n\t\tcontent = content.slice(0, index).trim() + content.slice(endEnd + 1);\n\t}\n\treturn {\n\t\tdefs,\n\t\tcontent\n\t};\n}\n/**\n* Merge defs and content\n*/\nfunction mergeDefsAndContent(defs, content) {\n\treturn defs ? \"<defs>\" + defs + \"</defs>\" + content : content;\n}\n/**\n* Wrap SVG content, without wrapping definitions\n*/\nfunction wrapSVGContent(body, start, end) {\n\tconst split = splitSVGDefs(body);\n\treturn mergeDefsAndContent(split.defs, start + split.content + end);\n}\n\nexport { mergeDefsAndContent, splitSVGDefs, wrapSVGContent };","import { defaultIconProps } from \"../icon/defaults.js\";\nimport { defaultIconCustomisations } from \"../customisations/defaults.js\";\nimport { calculateSize } from \"./size.js\";\nimport { wrapSVGContent } from \"./defs.js\";\n\n/**\n* Check if value should be unset. Allows multiple keywords\n*/\nconst isUnsetKeyword = (value) => value === \"unset\" || value === \"undefined\" || value === \"none\";\n/**\n* Get SVG attributes and content from icon + customisations\n*\n* Does not generate style to make it compatible with frameworks that use objects for style, such as React.\n* Instead, it generates 'inline' value. If true, rendering engine should add verticalAlign: -0.125em to icon.\n*\n* Customisations should be normalised by platform specific parser.\n* Result should be converted to <svg> by platform specific parser.\n* Use replaceIDs to generate unique IDs for body.\n*/\nfunction iconToSVG(icon, customisations) {\n\tconst fullIcon = {\n\t\t...defaultIconProps,\n\t\t...icon\n\t};\n\tconst fullCustomisations = {\n\t\t...defaultIconCustomisations,\n\t\t...customisations\n\t};\n\tconst box = {\n\t\tleft: fullIcon.left,\n\t\ttop: fullIcon.top,\n\t\twidth: fullIcon.width,\n\t\theight: fullIcon.height\n\t};\n\tlet body = fullIcon.body;\n\t[fullIcon, fullCustomisations].forEach((props) => {\n\t\tconst transformations = [];\n\t\tconst hFlip = props.hFlip;\n\t\tconst vFlip = props.vFlip;\n\t\tlet rotation = props.rotate;\n\t\tif (hFlip) if (vFlip) rotation += 2;\n\t\telse {\n\t\t\ttransformations.push(\"translate(\" + (box.width + box.left).toString() + \" \" + (0 - box.top).toString() + \")\");\n\t\t\ttransformations.push(\"scale(-1 1)\");\n\t\t\tbox.top = box.left = 0;\n\t\t}\n\t\telse if (vFlip) {\n\t\t\ttransformations.push(\"translate(\" + (0 - box.left).toString() + \" \" + (box.height + box.top).toString() + \")\");\n\t\t\ttransformations.push(\"scale(1 -1)\");\n\t\t\tbox.top = box.left = 0;\n\t\t}\n\t\tlet tempValue;\n\t\tif (rotation < 0) rotation -= Math.floor(rotation / 4) * 4;\n\t\trotation = rotation % 4;\n\t\tswitch (rotation) {\n\t\t\tcase 1:\n\t\t\t\ttempValue = box.height / 2 + box.top;\n\t\t\t\ttransformations.unshift(\"rotate(90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\");\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\ttransformations.unshift(\"rotate(180 \" + (box.width / 2 + box.left).toString() + \" \" + (box.height / 2 + box.top).toString() + \")\");\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\ttempValue = box.width / 2 + box.left;\n\t\t\t\ttransformations.unshift(\"rotate(-90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\");\n\t\t\t\tbreak;\n\t\t}\n\t\tif (rotation % 2 === 1) {\n\t\t\tif (box.left !== box.top) {\n\t\t\t\ttempValue = box.left;\n\t\t\t\tbox.left = box.top;\n\t\t\t\tbox.top = tempValue;\n\t\t\t}\n\t\t\tif (box.width !== box.height) {\n\t\t\t\ttempValue = box.width;\n\t\t\t\tbox.width = box.height;\n\t\t\t\tbox.height = tempValue;\n\t\t\t}\n\t\t}\n\t\tif (transformations.length) body = wrapSVGContent(body, \"<g transform=\\\"\" + transformations.join(\" \") + \"\\\">\", \"</g>\");\n\t});\n\tconst customisationsWidth = fullCustomisations.width;\n\tconst customisationsHeight = fullCustomisations.height;\n\tconst boxWidth = box.width;\n\tconst boxHeight = box.height;\n\tlet width;\n\tlet height;\n\tif (customisationsWidth === null) {\n\t\theight = customisationsHeight === null ? \"1em\" : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n\t\twidth = calculateSize(height, boxWidth / boxHeight);\n\t} else {\n\t\twidth = customisationsWidth === \"auto\" ? boxWidth : customisationsWidth;\n\t\theight = customisationsHeight === null ? calculateSize(width, boxHeight / boxWidth) : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n\t}\n\tconst attributes = {};\n\tconst setAttr = (prop, value) => {\n\t\tif (!isUnsetKeyword(value)) attributes[prop] = value.toString();\n\t};\n\tsetAttr(\"width\", width);\n\tsetAttr(\"height\", height);\n\tconst viewBox = [\n\t\tbox.left,\n\t\tbox.top,\n\t\tboxWidth,\n\t\tboxHeight\n\t];\n\tattributes.viewBox = viewBox.join(\" \");\n\treturn {\n\t\tattributes,\n\t\tviewBox,\n\t\tbody\n\t};\n}\n\nexport { iconToSVG, isUnsetKeyword };","/**\n* Regular expression for finding ids\n*/\nconst regex = /\\sid=\"(\\S+)\"/g;\n/**\n* Counters\n*/\nconst counters = /* @__PURE__ */ new Map();\n/**\n* Get unique new ID\n*/\nfunction nextID(id) {\n\tid = id.replace(/[0-9]+$/, \"\") || \"a\";\n\tconst count = counters.get(id) || 0;\n\tcounters.set(id, count + 1);\n\treturn count ? `${id}${count}` : id;\n}\n/**\n* Replace IDs in SVG output with unique IDs\n*/\nfunction replaceIDs(body) {\n\tconst ids = [];\n\tlet match;\n\twhile (match = regex.exec(body)) ids.push(match[1]);\n\tif (!ids.length) return body;\n\tconst suffix = \"suffix\" + (Math.random() * 16777216 | Date.now()).toString(16);\n\tids.forEach((id) => {\n\t\tconst newID = nextID(id);\n\t\tconst escapedID = id.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n\t\tbody = body.replace(new RegExp(\"([#;\\\"])(\" + escapedID + \")([\\\")]|\\\\.[a-z])\", \"g\"), \"$1\" + newID + suffix + \"$3\");\n\t});\n\tbody = body.replace(new RegExp(suffix, \"g\"), \"\");\n\treturn body;\n}\n/**\n* Clear ID cache\n*/\nfunction clearIDCache() {\n\tcounters.clear();\n}\n\nexport { clearIDCache, replaceIDs };","/**\n* Generate <svg>\n*/\nfunction iconToHTML(body, attributes) {\n\tlet renderAttribsHTML = body.indexOf(\"xlink:\") === -1 ? \"\" : \" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"\";\n\tfor (const attr in attributes) renderAttribsHTML += \" \" + attr + \"=\\\"\" + attributes[attr] + \"\\\"\";\n\treturn \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\"\" + renderAttribsHTML + \">\" + body + \"</svg>\";\n}\n\nexport { iconToHTML };","export function dedent(templ) {\n var values = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n values[_i - 1] = arguments[_i];\n }\n var strings = Array.from(typeof templ === 'string' ? [templ] : templ);\n strings[strings.length - 1] = strings[strings.length - 1].replace(/\\r?\\n([\\t ]*)$/, '');\n var indentLengths = strings.reduce(function (arr, str) {\n var matches = str.match(/\\n([\\t ]+|(?!\\s).)/g);\n if (matches) {\n return arr.concat(matches.map(function (match) { var _a, _b; return (_b = (_a = match.match(/[\\t ]/g)) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0; }));\n }\n return arr;\n }, []);\n if (indentLengths.length) {\n var pattern_1 = new RegExp(\"\\n[\\t ]{\" + Math.min.apply(Math, indentLengths) + \"}\", 'g');\n strings = strings.map(function (str) { return str.replace(pattern_1, '\\n'); });\n }\n strings[0] = strings[0].replace(/^\\r?\\n/, '');\n var string = strings[0];\n values.forEach(function (value, i) {\n var endentations = string.match(/(?:^|\\n)( *)$/);\n var endentation = endentations ? endentations[1] : '';\n var indentedValue = value;\n if (typeof value === 'string' && value.includes('\\n')) {\n indentedValue = String(value)\n .split('\\n')\n .map(function (str, i) {\n return i === 0 ? str : \"\" + endentation + str;\n })\n .join('\\n');\n }\n string += indentedValue + strings[i + 1];\n });\n return string;\n}\nexport default dedent;\n//# sourceMappingURL=index.js.map","import {\n decodeEntities\n} from \"./chunk-S3R3BYOJ.mjs\";\nimport {\n common_default,\n getConfig,\n hasKatex,\n renderKatexSanitized,\n sanitizeText\n} from \"./chunk-ABZYJK2D.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/rendering-util/icons.ts\nimport { getIconData, iconToHTML, iconToSVG, replaceIDs, stringToIcon } from \"@iconify/utils\";\nvar unknownIcon = {\n body: '<g><rect width=\"80\" height=\"80\" style=\"fill: #087ebf; stroke-width: 0px;\"/><text transform=\"translate(21.16 64.67)\" style=\"fill: #fff; font-family: ArialMT, Arial; font-size: 67.75px;\"><tspan x=\"0\" y=\"0\">?</tspan></text></g>',\n height: 80,\n width: 80\n};\nvar iconsStore = /* @__PURE__ */ new Map();\nvar loaderStore = /* @__PURE__ */ new Map();\nvar registerIconPacks = /* @__PURE__ */ __name((iconLoaders) => {\n for (const iconLoader of iconLoaders) {\n if (!iconLoader.name) {\n throw new Error(\n 'Invalid icon loader. Must have a \"name\" property with non-empty string value.'\n );\n }\n log.debug(\"Registering icon pack:\", iconLoader.name);\n if (\"loader\" in iconLoader) {\n loaderStore.set(iconLoader.name, iconLoader.loader);\n } else if (\"icons\" in iconLoader) {\n iconsStore.set(iconLoader.name, iconLoader.icons);\n } else {\n log.error(\"Invalid icon loader:\", iconLoader);\n throw new Error('Invalid icon loader. Must have either \"icons\" or \"loader\" property.');\n }\n }\n}, \"registerIconPacks\");\nvar getRegisteredIconData = /* @__PURE__ */ __name(async (iconName, fallbackPrefix) => {\n const data = stringToIcon(iconName, true, fallbackPrefix !== void 0);\n if (!data) {\n throw new Error(`Invalid icon name: ${iconName}`);\n }\n const prefix = data.prefix || fallbackPrefix;\n if (!prefix) {\n throw new Error(`Icon name must contain a prefix: ${iconName}`);\n }\n let icons = iconsStore.get(prefix);\n if (!icons) {\n const loader = loaderStore.get(prefix);\n if (!loader) {\n throw new Error(`Icon set not found: ${data.prefix}`);\n }\n try {\n const loaded = await loader();\n icons = { ...loaded, prefix };\n iconsStore.set(prefix, icons);\n } catch (e) {\n log.error(e);\n throw new Error(`Failed to load icon set: ${data.prefix}`);\n }\n }\n const iconData = getIconData(icons, data.name);\n if (!iconData) {\n throw new Error(`Icon not found: ${iconName}`);\n }\n return iconData;\n}, \"getRegisteredIconData\");\nvar isIconAvailable = /* @__PURE__ */ __name(async (iconName) => {\n try {\n await getRegisteredIconData(iconName);\n return true;\n } catch {\n return false;\n }\n}, \"isIconAvailable\");\nvar getIconSVG = /* @__PURE__ */ __name(async (iconName, customisations, extraAttributes) => {\n let iconData;\n try {\n iconData = await getRegisteredIconData(iconName, customisations?.fallbackPrefix);\n } catch (e) {\n log.error(e);\n iconData = unknownIcon;\n }\n const renderData = iconToSVG(iconData, customisations);\n const svg = iconToHTML(replaceIDs(renderData.body), {\n ...renderData.attributes,\n ...extraAttributes\n });\n return sanitizeText(svg, getConfig());\n}, \"getIconSVG\");\n\n// src/rendering-util/createText.ts\nimport { select } from \"d3\";\n\n// src/rendering-util/handle-markdown-text.ts\nimport { marked } from \"marked\";\nimport { dedent } from \"ts-dedent\";\nfunction preprocessMarkdown(markdown, { markdownAutoWrap }) {\n const withoutBR = markdown.replace(/<br\\/>/g, \"\\n\");\n const withoutMultipleNewlines = withoutBR.replace(/\\n{2,}/g, \"\\n\");\n const withoutExtraSpaces = dedent(withoutMultipleNewlines);\n if (markdownAutoWrap === false) {\n return withoutExtraSpaces.replace(/ /g, \"&nbsp;\");\n }\n return withoutExtraSpaces;\n}\n__name(preprocessMarkdown, \"preprocessMarkdown\");\nfunction markdownToLines(markdown, config = {}) {\n const preprocessedMarkdown = preprocessMarkdown(markdown, config);\n const nodes = marked.lexer(preprocessedMarkdown);\n const lines = [[]];\n let currentLine = 0;\n function processNode(node, parentType = \"normal\") {\n if (node.type === \"text\") {\n const textLines = node.text.split(\"\\n\");\n textLines.forEach((textLine, index) => {\n if (index !== 0) {\n currentLine++;\n lines.push([]);\n }\n textLine.split(\" \").forEach((word) => {\n word = word.replace(/&#39;/g, `'`);\n if (word) {\n lines[currentLine].push({ content: word, type: parentType });\n }\n });\n });\n } else if (node.type === \"strong\" || node.type === \"em\") {\n node.tokens.forEach((contentNode) => {\n processNode(contentNode, node.type);\n });\n } else if (node.type === \"html\") {\n lines[currentLine].push({ content: node.text, type: \"normal\" });\n }\n }\n __name(processNode, \"processNode\");\n nodes.forEach((treeNode) => {\n if (treeNode.type === \"paragraph\") {\n treeNode.tokens?.forEach((contentNode) => {\n processNode(contentNode);\n });\n } else if (treeNode.type === \"html\") {\n lines[currentLine].push({ content: treeNode.text, type: \"normal\" });\n } else {\n lines[currentLine].push({ content: treeNode.raw, type: \"normal\" });\n }\n });\n return lines;\n}\n__name(markdownToLines, \"markdownToLines\");\nfunction markdownToHTML(markdown, { markdownAutoWrap } = {}) {\n const nodes = marked.lexer(markdown);\n function output(node) {\n if (node.type === \"text\") {\n if (markdownAutoWrap === false) {\n return node.text.replace(/\\n */g, \"<br/>\").replace(/ /g, \"&nbsp;\");\n }\n return node.text.replace(/\\n */g, \"<br/>\");\n } else if (node.type === \"strong\") {\n return `<strong>${node.tokens?.map(output).join(\"\")}</strong>`;\n } else if (node.type === \"em\") {\n return `<em>${node.tokens?.map(output).join(\"\")}</em>`;\n } else if (node.type === \"paragraph\") {\n return `<p>${node.tokens?.map(output).join(\"\")}</p>`;\n } else if (node.type === \"space\") {\n return \"\";\n } else if (node.type === \"html\") {\n return `${node.text}`;\n } else if (node.type === \"escape\") {\n return node.text;\n }\n log.warn(`Unsupported markdown: ${node.type}`);\n return node.raw;\n }\n __name(output, \"output\");\n return nodes.map(output).join(\"\");\n}\n__name(markdownToHTML, \"markdownToHTML\");\n\n// src/rendering-util/splitText.ts\nfunction splitTextToChars(text) {\n if (Intl.Segmenter) {\n return [...new Intl.Segmenter().segment(text)].map((s) => s.segment);\n }\n return [...text];\n}\n__name(splitTextToChars, \"splitTextToChars\");\nfunction splitWordToFitWidth(checkFit, word) {\n const characters = splitTextToChars(word.content);\n return splitWordToFitWidthRecursion(checkFit, [], characters, word.type);\n}\n__name(splitWordToFitWidth, \"splitWordToFitWidth\");\nfunction splitWordToFitWidthRecursion(checkFit, usedChars, remainingChars, type) {\n if (remainingChars.length === 0) {\n return [\n { content: usedChars.join(\"\"), type },\n { content: \"\", type }\n ];\n }\n const [nextChar, ...rest] = remainingChars;\n const newWord = [...usedChars, nextChar];\n if (checkFit([{ content: newWord.join(\"\"), type }])) {\n return splitWordToFitWidthRecursion(checkFit, newWord, rest, type);\n }\n if (usedChars.length === 0 && nextChar) {\n usedChars.push(nextChar);\n remainingChars.shift();\n }\n return [\n { content: usedChars.join(\"\"), type },\n { content: remainingChars.join(\"\"), type }\n ];\n}\n__name(splitWordToFitWidthRecursion, \"splitWordToFitWidthRecursion\");\nfunction splitLineToFitWidth(line, checkFit) {\n if (line.some(({ content }) => content.includes(\"\\n\"))) {\n throw new Error(\"splitLineToFitWidth does not support newlines in the line\");\n }\n return splitLineToFitWidthRecursion(line, checkFit);\n}\n__name(splitLineToFitWidth, \"splitLineToFitWidth\");\nfunction splitLineToFitWidthRecursion(words, checkFit, lines = [], newLine = []) {\n if (words.length === 0) {\n if (newLine.length > 0) {\n lines.push(newLine);\n }\n return lines.length > 0 ? lines : [];\n }\n let joiner = \"\";\n if (words[0].content === \" \") {\n joiner = \" \";\n words.shift();\n }\n const nextWord = words.shift() ?? { content: \" \", type: \"normal\" };\n const lineWithNextWord = [...newLine];\n if (joiner !== \"\") {\n lineWithNextWord.push({ content: joiner, type: \"normal\" });\n }\n lineWithNextWord.push(nextWord);\n if (checkFit(lineWithNextWord)) {\n return splitLineToFitWidthRecursion(words, checkFit, lines, lineWithNextWord);\n }\n if (newLine.length > 0) {\n lines.push(newLine);\n words.unshift(nextWord);\n } else if (nextWord.content) {\n const [line, rest] = splitWordToFitWidth(checkFit, nextWord);\n lines.push([line]);\n if (rest.content) {\n words.unshift(rest);\n }\n }\n return splitLineToFitWidthRecursion(words, checkFit, lines);\n}\n__name(splitLineToFitWidthRecursion, \"splitLineToFitWidthRecursion\");\n\n// src/rendering-util/createText.ts\nfunction applyStyle(dom, styleFn) {\n if (styleFn) {\n dom.attr(\"style\", styleFn);\n }\n}\n__name(applyStyle, \"applyStyle\");\nasync function addHtmlSpan(element, node, width, classes, addBackground = false, config = getConfig()) {\n const fo = element.append(\"foreignObject\");\n fo.attr(\"width\", `${10 * width}px`);\n fo.attr(\"height\", `${10 * width}px`);\n const div = fo.append(\"xhtml:div\");\n const sanitizedLabel = hasKatex(node.label) ? await renderKatexSanitized(node.label.replace(common_default.lineBreakRegex, \"\\n\"), config) : sanitizeText(node.label, config);\n const labelClass = node.isNode ? \"nodeLabel\" : \"edgeLabel\";\n const span = div.append(\"span\");\n span.html(sanitizedLabel);\n applyStyle(span, node.labelStyle);\n span.attr(\"class\", `${labelClass} ${classes}`);\n applyStyle(div, node.labelStyle);\n div.style(\"display\", \"table-cell\");\n div.style(\"white-space\", \"nowrap\");\n div.style(\"line-height\", \"1.5\");\n div.style(\"max-width\", width + \"px\");\n div.style(\"text-align\", \"center\");\n div.attr(\"xmlns\", \"http://www.w3.org/1999/xhtml\");\n if (addBackground) {\n div.attr(\"class\", \"labelBkg\");\n }\n let bbox = div.node().getBoundingClientRect();\n if (bbox.width === width) {\n div.style(\"display\", \"table\");\n div.style(\"white-space\", \"break-spaces\");\n div.style(\"width\", width + \"px\");\n bbox = div.node().getBoundingClientRect();\n }\n return fo.node();\n}\n__name(addHtmlSpan, \"addHtmlSpan\");\nfunction createTspan(textElement, lineIndex, lineHeight) {\n return textElement.append(\"tspan\").attr(\"class\", \"text-outer-tspan\").attr(\"x\", 0).attr(\"y\", lineIndex * lineHeight - 0.1 + \"em\").attr(\"dy\", lineHeight + \"em\");\n}\n__name(createTspan, \"createTspan\");\nfunction computeWidthOfText(parentNode, lineHeight, line) {\n const testElement = parentNode.append(\"text\");\n const testSpan = createTspan(testElement, 1, lineHeight);\n updateTextContentAndStyles(testSpan, line);\n const textLength = testSpan.node().getComputedTextLength();\n testElement.remove();\n return textLength;\n}\n__name(computeWidthOfText, \"computeWidthOfText\");\nfunction computeDimensionOfText(parentNode, lineHeight, text) {\n const testElement = parentNode.append(\"text\");\n const testSpan = createTspan(testElement, 1, lineHeight);\n updateTextContentAndStyles(testSpan, [{ content: text, type: \"normal\" }]);\n const textDimension = testSpan.node()?.getBoundingClientRect();\n if (textDimension) {\n testElement.remove();\n }\n return textDimension;\n}\n__name(computeDimensionOfText, \"computeDimensionOfText\");\nfunction createFormattedText(width, g, structuredText, addBackground = false) {\n const lineHeight = 1.1;\n const labelGroup = g.append(\"g\");\n const bkg = labelGroup.insert(\"rect\").attr(\"class\", \"background\").attr(\"style\", \"stroke: none\");\n const textElement = labelGroup.append(\"text\").attr(\"y\", \"-10.1\");\n let lineIndex = 0;\n for (const line of structuredText) {\n const checkWidth = /* @__PURE__ */ __name((line2) => computeWidthOfText(labelGroup, lineHeight, line2) <= width, \"checkWidth\");\n const linesUnderWidth = checkWidth(line) ? [line] : splitLineToFitWidth(line, checkWidth);\n for (const preparedLine of linesUnderWidth) {\n const tspan = createTspan(textElement, lineIndex, lineHeight);\n updateTextContentAndStyles(tspan, preparedLine);\n lineIndex++;\n }\n }\n if (addBackground) {\n const bbox = textElement.node().getBBox();\n const padding = 2;\n bkg.attr(\"x\", bbox.x - padding).attr(\"y\", bbox.y - padding).attr(\"width\", bbox.width + 2 * padding).attr(\"height\", bbox.height + 2 * padding);\n return labelGroup.node();\n } else {\n return textElement.node();\n }\n}\n__name(createFormattedText, \"createFormattedText\");\nfunction updateTextContentAndStyles(tspan, wrappedLine) {\n tspan.text(\"\");\n wrappedLine.forEach((word, index) => {\n const innerTspan = tspan.append(\"tspan\").attr(\"font-style\", word.type === \"em\" ? \"italic\" : \"normal\").attr(\"class\", \"text-inner-tspan\").attr(\"font-weight\", word.type === \"strong\" ? \"bold\" : \"normal\");\n if (index === 0) {\n innerTspan.text(word.content);\n } else {\n innerTspan.text(\" \" + word.content);\n }\n });\n}\n__name(updateTextContentAndStyles, \"updateTextContentAndStyles\");\nasync function replaceIconSubstring(text, config = {}) {\n const pendingReplacements = [];\n text.replace(/(fa[bklrs]?):fa-([\\w-]+)/g, (fullMatch, prefix, iconName) => {\n pendingReplacements.push(\n (async () => {\n const registeredIconName = `${prefix}:${iconName}`;\n if (await isIconAvailable(registeredIconName)) {\n return await getIconSVG(registeredIconName, void 0, { class: \"label-icon\" });\n } else {\n return `<i class='${sanitizeText(fullMatch, config).replace(\":\", \" \")}'></i>`;\n }\n })()\n );\n return fullMatch;\n });\n const replacements = await Promise.all(pendingReplacements);\n return text.replace(/(fa[bklrs]?):fa-([\\w-]+)/g, () => replacements.shift() ?? \"\");\n}\n__name(replaceIconSubstring, \"replaceIconSubstring\");\nvar createText = /* @__PURE__ */ __name(async (el, text = \"\", {\n style = \"\",\n isTitle = false,\n classes = \"\",\n useHtmlLabels = true,\n isNode = true,\n width = 200,\n addSvgBackground = false\n} = {}, config) => {\n log.debug(\n \"XYZ createText\",\n text,\n style,\n isTitle,\n classes,\n useHtmlLabels,\n isNode,\n \"addSvgBackground: \",\n addSvgBackground\n );\n if (useHtmlLabels) {\n const htmlText = markdownToHTML(text, config);\n const decodedReplacedText = await replaceIconSubstring(decodeEntities(htmlText), config);\n const inputForKatex = text.replace(/\\\\\\\\/g, \"\\\\\");\n const node = {\n isNode,\n label: hasKatex(text) ? inputForKatex : decodedReplacedText,\n labelStyle: style.replace(\"fill:\", \"color:\")\n };\n const vertexNode = await addHtmlSpan(el, node, width, classes, addSvgBackground, config);\n return vertexNode;\n } else {\n const sanitizeBR = text.replace(/<br\\s*\\/?>/g, \"<br/>\");\n const structuredText = markdownToLines(sanitizeBR.replace(\"<br>\", \"<br/>\"), config);\n const svgLabel = createFormattedText(\n width,\n el,\n structuredText,\n text ? addSvgBackground : false\n );\n if (isNode) {\n if (/stroke:/.exec(style)) {\n style = style.replace(\"stroke:\", \"lineColor:\");\n }\n const nodeLabelTextStyle = style.replace(/stroke:[^;]+;?/g, \"\").replace(/stroke-width:[^;]+;?/g, \"\").replace(/fill:[^;]+;?/g, \"\").replace(/color:/g, \"fill:\");\n select(svgLabel).attr(\"style\", nodeLabelTextStyle);\n } else {\n const edgeLabelRectStyle = style.replace(/stroke:[^;]+;?/g, \"\").replace(/stroke-width:[^;]+;?/g, \"\").replace(/fill:[^;]+;?/g, \"\").replace(/background:/g, \"fill:\");\n select(svgLabel).select(\"rect\").attr(\"style\", edgeLabelRectStyle.replace(/background:/g, \"fill:\"));\n const edgeLabelTextStyle = style.replace(/stroke:[^;]+;?/g, \"\").replace(/stroke-width:[^;]+;?/g, \"\").replace(/fill:[^;]+;?/g, \"\").replace(/color:/g, \"fill:\");\n select(svgLabel).select(\"text\").attr(\"style\", edgeLabelTextStyle);\n }\n return svgLabel;\n }\n}, \"createText\");\n\nexport {\n unknownIcon,\n registerIconPacks,\n getIconSVG,\n computeDimensionOfText,\n replaceIconSubstring,\n createText\n};\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13],"mappings":"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"}
1
+ {"version":3,"file":"chunk-JA3XYJ7Z-DFEpfAPm.js","names":["i","marked"],"sources":["../../../../node_modules/@iconify/utils/lib/icon/defaults.js","../../../../node_modules/@iconify/utils/lib/customisations/defaults.js","../../../../node_modules/@iconify/utils/lib/icon/name.js","../../../../node_modules/@iconify/utils/lib/icon/transformations.js","../../../../node_modules/@iconify/utils/lib/icon/merge.js","../../../../node_modules/@iconify/utils/lib/icon-set/tree.js","../../../../node_modules/@iconify/utils/lib/icon-set/get-icon.js","../../../../node_modules/@iconify/utils/lib/svg/size.js","../../../../node_modules/@iconify/utils/lib/svg/defs.js","../../../../node_modules/@iconify/utils/lib/svg/build.js","../../../../node_modules/@iconify/utils/lib/svg/id.js","../../../../node_modules/@iconify/utils/lib/svg/html.js","../../../../node_modules/ts-dedent/esm/index.js","../../../../node_modules/mermaid/dist/chunks/mermaid.core/chunk-JA3XYJ7Z.mjs"],"sourcesContent":["/** Default values for dimensions */\nconst defaultIconDimensions = Object.freeze({\n\tleft: 0,\n\ttop: 0,\n\twidth: 16,\n\theight: 16\n});\n/** Default values for transformations */\nconst defaultIconTransformations = Object.freeze({\n\trotate: 0,\n\tvFlip: false,\n\thFlip: false\n});\n/** Default values for all optional IconifyIcon properties */\nconst defaultIconProps = Object.freeze({\n\t...defaultIconDimensions,\n\t...defaultIconTransformations\n});\n/** Default values for all properties used in ExtendedIconifyIcon */\nconst defaultExtendedIconProps = Object.freeze({\n\t...defaultIconProps,\n\tbody: \"\",\n\thidden: false\n});\n\nexport { defaultExtendedIconProps, defaultIconDimensions, defaultIconProps, defaultIconTransformations };","import { defaultIconTransformations } from \"../icon/defaults.js\";\n\n/**\n* Default icon customisations values\n*/\nconst defaultIconSizeCustomisations = Object.freeze({\n\twidth: null,\n\theight: null\n});\nconst defaultIconCustomisations = Object.freeze({\n\t...defaultIconSizeCustomisations,\n\t...defaultIconTransformations\n});\n\nexport { defaultIconCustomisations, defaultIconSizeCustomisations };","/**\n* Expression to test part of icon name.\n*\n* Used when loading icons from Iconify API due to project naming convension.\n* Ignored when using custom icon sets - convension does not apply.\n*/\nconst matchIconName = /^[a-z0-9]+(-[a-z0-9]+)*$/;\n/**\n* Convert string icon name to IconifyIconName object.\n*/\nconst stringToIcon = (value, validate, allowSimpleName, provider = \"\") => {\n\tconst colonSeparated = value.split(\":\");\n\tif (value.slice(0, 1) === \"@\") {\n\t\tif (colonSeparated.length < 2 || colonSeparated.length > 3) return null;\n\t\tprovider = colonSeparated.shift().slice(1);\n\t}\n\tif (colonSeparated.length > 3 || !colonSeparated.length) return null;\n\tif (colonSeparated.length > 1) {\n\t\tconst name$1 = colonSeparated.pop();\n\t\tconst prefix = colonSeparated.pop();\n\t\tconst result = {\n\t\t\tprovider: colonSeparated.length > 0 ? colonSeparated[0] : provider,\n\t\t\tprefix,\n\t\t\tname: name$1\n\t\t};\n\t\treturn validate && !validateIconName(result) ? null : result;\n\t}\n\tconst name = colonSeparated[0];\n\tconst dashSeparated = name.split(\"-\");\n\tif (dashSeparated.length > 1) {\n\t\tconst result = {\n\t\t\tprovider,\n\t\t\tprefix: dashSeparated.shift(),\n\t\t\tname: dashSeparated.join(\"-\")\n\t\t};\n\t\treturn validate && !validateIconName(result) ? null : result;\n\t}\n\tif (allowSimpleName && provider === \"\") {\n\t\tconst result = {\n\t\t\tprovider,\n\t\t\tprefix: \"\",\n\t\t\tname\n\t\t};\n\t\treturn validate && !validateIconName(result, allowSimpleName) ? null : result;\n\t}\n\treturn null;\n};\n/**\n* Check if icon is valid.\n*\n* This function is not part of stringToIcon because validation is not needed for most code.\n*/\nconst validateIconName = (icon, allowSimpleName) => {\n\tif (!icon) return false;\n\treturn !!((allowSimpleName && icon.prefix === \"\" || !!icon.prefix) && !!icon.name);\n};\n\nexport { matchIconName, stringToIcon, validateIconName };","/**\n* Merge transformations\n*/\nfunction mergeIconTransformations(obj1, obj2) {\n\tconst result = {};\n\tif (!obj1.hFlip !== !obj2.hFlip) result.hFlip = true;\n\tif (!obj1.vFlip !== !obj2.vFlip) result.vFlip = true;\n\tconst rotate = ((obj1.rotate || 0) + (obj2.rotate || 0)) % 4;\n\tif (rotate) result.rotate = rotate;\n\treturn result;\n}\n\nexport { mergeIconTransformations };","import { defaultExtendedIconProps, defaultIconTransformations } from \"./defaults.js\";\nimport { mergeIconTransformations } from \"./transformations.js\";\n\n/**\n* Merge icon and alias\n*\n* Can also be used to merge default values and icon\n*/\nfunction mergeIconData(parent, child) {\n\tconst result = mergeIconTransformations(parent, child);\n\tfor (const key in defaultExtendedIconProps) if (key in defaultIconTransformations) {\n\t\tif (key in parent && !(key in result)) result[key] = defaultIconTransformations[key];\n\t} else if (key in child) result[key] = child[key];\n\telse if (key in parent) result[key] = parent[key];\n\treturn result;\n}\n\nexport { mergeIconData };","/**\n* Resolve icon set icons\n*\n* Returns parent icon for each icon\n*/\nfunction getIconsTree(data, names) {\n\tconst icons = data.icons;\n\tconst aliases = data.aliases || Object.create(null);\n\tconst resolved = Object.create(null);\n\tfunction resolve(name) {\n\t\tif (icons[name]) return resolved[name] = [];\n\t\tif (!(name in resolved)) {\n\t\t\tresolved[name] = null;\n\t\t\tconst parent = aliases[name] && aliases[name].parent;\n\t\t\tconst value = parent && resolve(parent);\n\t\t\tif (value) resolved[name] = [parent].concat(value);\n\t\t}\n\t\treturn resolved[name];\n\t}\n\t(names || Object.keys(icons).concat(Object.keys(aliases))).forEach(resolve);\n\treturn resolved;\n}\n\nexport { getIconsTree };","import { mergeIconData } from \"../icon/merge.js\";\nimport { getIconsTree } from \"./tree.js\";\n\n/**\n* Get icon data, using prepared aliases tree\n*/\nfunction internalGetIconData(data, name, tree) {\n\tconst icons = data.icons;\n\tconst aliases = data.aliases || Object.create(null);\n\tlet currentProps = {};\n\tfunction parse(name$1) {\n\t\tcurrentProps = mergeIconData(icons[name$1] || aliases[name$1], currentProps);\n\t}\n\tparse(name);\n\ttree.forEach(parse);\n\treturn mergeIconData(data, currentProps);\n}\n/**\n* Get data for icon\n*/\nfunction getIconData(data, name) {\n\tif (data.icons[name]) return internalGetIconData(data, name, []);\n\tconst tree = getIconsTree(data, [name])[name];\n\treturn tree ? internalGetIconData(data, name, tree) : null;\n}\n\nexport { getIconData, internalGetIconData };","/**\n* Regular expressions for calculating dimensions\n*/\nconst unitsSplit = /(-?[0-9.]*[0-9]+[0-9.]*)/g;\nconst unitsTest = /^-?[0-9.]*[0-9]+[0-9.]*$/g;\nfunction calculateSize(size, ratio, precision) {\n\tif (ratio === 1) return size;\n\tprecision = precision || 100;\n\tif (typeof size === \"number\") return Math.ceil(size * ratio * precision) / precision;\n\tif (typeof size !== \"string\") return size;\n\tconst oldParts = size.split(unitsSplit);\n\tif (oldParts === null || !oldParts.length) return size;\n\tconst newParts = [];\n\tlet code = oldParts.shift();\n\tlet isNumber = unitsTest.test(code);\n\twhile (true) {\n\t\tif (isNumber) {\n\t\t\tconst num = parseFloat(code);\n\t\t\tif (isNaN(num)) newParts.push(code);\n\t\t\telse newParts.push(Math.ceil(num * ratio * precision) / precision);\n\t\t} else newParts.push(code);\n\t\tcode = oldParts.shift();\n\t\tif (code === void 0) return newParts.join(\"\");\n\t\tisNumber = !isNumber;\n\t}\n}\n\nexport { calculateSize };","function splitSVGDefs(content, tag = \"defs\") {\n\tlet defs = \"\";\n\tconst index = content.indexOf(\"<\" + tag);\n\twhile (index >= 0) {\n\t\tconst start = content.indexOf(\">\", index);\n\t\tconst end = content.indexOf(\"</\" + tag);\n\t\tif (start === -1 || end === -1) break;\n\t\tconst endEnd = content.indexOf(\">\", end);\n\t\tif (endEnd === -1) break;\n\t\tdefs += content.slice(start + 1, end).trim();\n\t\tcontent = content.slice(0, index).trim() + content.slice(endEnd + 1);\n\t}\n\treturn {\n\t\tdefs,\n\t\tcontent\n\t};\n}\n/**\n* Merge defs and content\n*/\nfunction mergeDefsAndContent(defs, content) {\n\treturn defs ? \"<defs>\" + defs + \"</defs>\" + content : content;\n}\n/**\n* Wrap SVG content, without wrapping definitions\n*/\nfunction wrapSVGContent(body, start, end) {\n\tconst split = splitSVGDefs(body);\n\treturn mergeDefsAndContent(split.defs, start + split.content + end);\n}\n\nexport { mergeDefsAndContent, splitSVGDefs, wrapSVGContent };","import { defaultIconProps } from \"../icon/defaults.js\";\nimport { defaultIconCustomisations } from \"../customisations/defaults.js\";\nimport { calculateSize } from \"./size.js\";\nimport { wrapSVGContent } from \"./defs.js\";\n\n/**\n* Check if value should be unset. Allows multiple keywords\n*/\nconst isUnsetKeyword = (value) => value === \"unset\" || value === \"undefined\" || value === \"none\";\n/**\n* Get SVG attributes and content from icon + customisations\n*\n* Does not generate style to make it compatible with frameworks that use objects for style, such as React.\n* Instead, it generates 'inline' value. If true, rendering engine should add verticalAlign: -0.125em to icon.\n*\n* Customisations should be normalised by platform specific parser.\n* Result should be converted to <svg> by platform specific parser.\n* Use replaceIDs to generate unique IDs for body.\n*/\nfunction iconToSVG(icon, customisations) {\n\tconst fullIcon = {\n\t\t...defaultIconProps,\n\t\t...icon\n\t};\n\tconst fullCustomisations = {\n\t\t...defaultIconCustomisations,\n\t\t...customisations\n\t};\n\tconst box = {\n\t\tleft: fullIcon.left,\n\t\ttop: fullIcon.top,\n\t\twidth: fullIcon.width,\n\t\theight: fullIcon.height\n\t};\n\tlet body = fullIcon.body;\n\t[fullIcon, fullCustomisations].forEach((props) => {\n\t\tconst transformations = [];\n\t\tconst hFlip = props.hFlip;\n\t\tconst vFlip = props.vFlip;\n\t\tlet rotation = props.rotate;\n\t\tif (hFlip) if (vFlip) rotation += 2;\n\t\telse {\n\t\t\ttransformations.push(\"translate(\" + (box.width + box.left).toString() + \" \" + (0 - box.top).toString() + \")\");\n\t\t\ttransformations.push(\"scale(-1 1)\");\n\t\t\tbox.top = box.left = 0;\n\t\t}\n\t\telse if (vFlip) {\n\t\t\ttransformations.push(\"translate(\" + (0 - box.left).toString() + \" \" + (box.height + box.top).toString() + \")\");\n\t\t\ttransformations.push(\"scale(1 -1)\");\n\t\t\tbox.top = box.left = 0;\n\t\t}\n\t\tlet tempValue;\n\t\tif (rotation < 0) rotation -= Math.floor(rotation / 4) * 4;\n\t\trotation = rotation % 4;\n\t\tswitch (rotation) {\n\t\t\tcase 1:\n\t\t\t\ttempValue = box.height / 2 + box.top;\n\t\t\t\ttransformations.unshift(\"rotate(90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\");\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\ttransformations.unshift(\"rotate(180 \" + (box.width / 2 + box.left).toString() + \" \" + (box.height / 2 + box.top).toString() + \")\");\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\ttempValue = box.width / 2 + box.left;\n\t\t\t\ttransformations.unshift(\"rotate(-90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\");\n\t\t\t\tbreak;\n\t\t}\n\t\tif (rotation % 2 === 1) {\n\t\t\tif (box.left !== box.top) {\n\t\t\t\ttempValue = box.left;\n\t\t\t\tbox.left = box.top;\n\t\t\t\tbox.top = tempValue;\n\t\t\t}\n\t\t\tif (box.width !== box.height) {\n\t\t\t\ttempValue = box.width;\n\t\t\t\tbox.width = box.height;\n\t\t\t\tbox.height = tempValue;\n\t\t\t}\n\t\t}\n\t\tif (transformations.length) body = wrapSVGContent(body, \"<g transform=\\\"\" + transformations.join(\" \") + \"\\\">\", \"</g>\");\n\t});\n\tconst customisationsWidth = fullCustomisations.width;\n\tconst customisationsHeight = fullCustomisations.height;\n\tconst boxWidth = box.width;\n\tconst boxHeight = box.height;\n\tlet width;\n\tlet height;\n\tif (customisationsWidth === null) {\n\t\theight = customisationsHeight === null ? \"1em\" : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n\t\twidth = calculateSize(height, boxWidth / boxHeight);\n\t} else {\n\t\twidth = customisationsWidth === \"auto\" ? boxWidth : customisationsWidth;\n\t\theight = customisationsHeight === null ? calculateSize(width, boxHeight / boxWidth) : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n\t}\n\tconst attributes = {};\n\tconst setAttr = (prop, value) => {\n\t\tif (!isUnsetKeyword(value)) attributes[prop] = value.toString();\n\t};\n\tsetAttr(\"width\", width);\n\tsetAttr(\"height\", height);\n\tconst viewBox = [\n\t\tbox.left,\n\t\tbox.top,\n\t\tboxWidth,\n\t\tboxHeight\n\t];\n\tattributes.viewBox = viewBox.join(\" \");\n\treturn {\n\t\tattributes,\n\t\tviewBox,\n\t\tbody\n\t};\n}\n\nexport { iconToSVG, isUnsetKeyword };","/**\n* Regular expression for finding ids\n*/\nconst regex = /\\sid=\"(\\S+)\"/g;\n/**\n* Counters\n*/\nconst counters = /* @__PURE__ */ new Map();\n/**\n* Get unique new ID\n*/\nfunction nextID(id) {\n\tid = id.replace(/[0-9]+$/, \"\") || \"a\";\n\tconst count = counters.get(id) || 0;\n\tcounters.set(id, count + 1);\n\treturn count ? `${id}${count}` : id;\n}\n/**\n* Replace IDs in SVG output with unique IDs\n*/\nfunction replaceIDs(body) {\n\tconst ids = [];\n\tlet match;\n\twhile (match = regex.exec(body)) ids.push(match[1]);\n\tif (!ids.length) return body;\n\tconst suffix = \"suffix\" + (Math.random() * 16777216 | Date.now()).toString(16);\n\tids.forEach((id) => {\n\t\tconst newID = nextID(id);\n\t\tconst escapedID = id.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n\t\tbody = body.replace(new RegExp(\"([#;\\\"])(\" + escapedID + \")([\\\")]|\\\\.[a-z])\", \"g\"), \"$1\" + newID + suffix + \"$3\");\n\t});\n\tbody = body.replace(new RegExp(suffix, \"g\"), \"\");\n\treturn body;\n}\n/**\n* Clear ID cache\n*/\nfunction clearIDCache() {\n\tcounters.clear();\n}\n\nexport { clearIDCache, replaceIDs };","/**\n* Generate <svg>\n*/\nfunction iconToHTML(body, attributes) {\n\tlet renderAttribsHTML = body.indexOf(\"xlink:\") === -1 ? \"\" : \" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"\";\n\tfor (const attr in attributes) renderAttribsHTML += \" \" + attr + \"=\\\"\" + attributes[attr] + \"\\\"\";\n\treturn \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\"\" + renderAttribsHTML + \">\" + body + \"</svg>\";\n}\n\nexport { iconToHTML };","export function dedent(templ) {\n var values = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n values[_i - 1] = arguments[_i];\n }\n var strings = Array.from(typeof templ === 'string' ? [templ] : templ);\n strings[strings.length - 1] = strings[strings.length - 1].replace(/\\r?\\n([\\t ]*)$/, '');\n var indentLengths = strings.reduce(function (arr, str) {\n var matches = str.match(/\\n([\\t ]+|(?!\\s).)/g);\n if (matches) {\n return arr.concat(matches.map(function (match) { var _a, _b; return (_b = (_a = match.match(/[\\t ]/g)) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0; }));\n }\n return arr;\n }, []);\n if (indentLengths.length) {\n var pattern_1 = new RegExp(\"\\n[\\t ]{\" + Math.min.apply(Math, indentLengths) + \"}\", 'g');\n strings = strings.map(function (str) { return str.replace(pattern_1, '\\n'); });\n }\n strings[0] = strings[0].replace(/^\\r?\\n/, '');\n var string = strings[0];\n values.forEach(function (value, i) {\n var endentations = string.match(/(?:^|\\n)( *)$/);\n var endentation = endentations ? endentations[1] : '';\n var indentedValue = value;\n if (typeof value === 'string' && value.includes('\\n')) {\n indentedValue = String(value)\n .split('\\n')\n .map(function (str, i) {\n return i === 0 ? str : \"\" + endentation + str;\n })\n .join('\\n');\n }\n string += indentedValue + strings[i + 1];\n });\n return string;\n}\nexport default dedent;\n//# sourceMappingURL=index.js.map","import {\n decodeEntities\n} from \"./chunk-S3R3BYOJ.mjs\";\nimport {\n common_default,\n getConfig,\n hasKatex,\n renderKatexSanitized,\n sanitizeText\n} from \"./chunk-ABZYJK2D.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/rendering-util/icons.ts\nimport { getIconData, iconToHTML, iconToSVG, replaceIDs, stringToIcon } from \"@iconify/utils\";\nvar unknownIcon = {\n body: '<g><rect width=\"80\" height=\"80\" style=\"fill: #087ebf; stroke-width: 0px;\"/><text transform=\"translate(21.16 64.67)\" style=\"fill: #fff; font-family: ArialMT, Arial; font-size: 67.75px;\"><tspan x=\"0\" y=\"0\">?</tspan></text></g>',\n height: 80,\n width: 80\n};\nvar iconsStore = /* @__PURE__ */ new Map();\nvar loaderStore = /* @__PURE__ */ new Map();\nvar registerIconPacks = /* @__PURE__ */ __name((iconLoaders) => {\n for (const iconLoader of iconLoaders) {\n if (!iconLoader.name) {\n throw new Error(\n 'Invalid icon loader. Must have a \"name\" property with non-empty string value.'\n );\n }\n log.debug(\"Registering icon pack:\", iconLoader.name);\n if (\"loader\" in iconLoader) {\n loaderStore.set(iconLoader.name, iconLoader.loader);\n } else if (\"icons\" in iconLoader) {\n iconsStore.set(iconLoader.name, iconLoader.icons);\n } else {\n log.error(\"Invalid icon loader:\", iconLoader);\n throw new Error('Invalid icon loader. Must have either \"icons\" or \"loader\" property.');\n }\n }\n}, \"registerIconPacks\");\nvar getRegisteredIconData = /* @__PURE__ */ __name(async (iconName, fallbackPrefix) => {\n const data = stringToIcon(iconName, true, fallbackPrefix !== void 0);\n if (!data) {\n throw new Error(`Invalid icon name: ${iconName}`);\n }\n const prefix = data.prefix || fallbackPrefix;\n if (!prefix) {\n throw new Error(`Icon name must contain a prefix: ${iconName}`);\n }\n let icons = iconsStore.get(prefix);\n if (!icons) {\n const loader = loaderStore.get(prefix);\n if (!loader) {\n throw new Error(`Icon set not found: ${data.prefix}`);\n }\n try {\n const loaded = await loader();\n icons = { ...loaded, prefix };\n iconsStore.set(prefix, icons);\n } catch (e) {\n log.error(e);\n throw new Error(`Failed to load icon set: ${data.prefix}`);\n }\n }\n const iconData = getIconData(icons, data.name);\n if (!iconData) {\n throw new Error(`Icon not found: ${iconName}`);\n }\n return iconData;\n}, \"getRegisteredIconData\");\nvar isIconAvailable = /* @__PURE__ */ __name(async (iconName) => {\n try {\n await getRegisteredIconData(iconName);\n return true;\n } catch {\n return false;\n }\n}, \"isIconAvailable\");\nvar getIconSVG = /* @__PURE__ */ __name(async (iconName, customisations, extraAttributes) => {\n let iconData;\n try {\n iconData = await getRegisteredIconData(iconName, customisations?.fallbackPrefix);\n } catch (e) {\n log.error(e);\n iconData = unknownIcon;\n }\n const renderData = iconToSVG(iconData, customisations);\n const svg = iconToHTML(replaceIDs(renderData.body), {\n ...renderData.attributes,\n ...extraAttributes\n });\n return sanitizeText(svg, getConfig());\n}, \"getIconSVG\");\n\n// src/rendering-util/createText.ts\nimport { select } from \"d3\";\n\n// src/rendering-util/handle-markdown-text.ts\nimport { marked } from \"marked\";\nimport { dedent } from \"ts-dedent\";\nfunction preprocessMarkdown(markdown, { markdownAutoWrap }) {\n const withoutBR = markdown.replace(/<br\\/>/g, \"\\n\");\n const withoutMultipleNewlines = withoutBR.replace(/\\n{2,}/g, \"\\n\");\n const withoutExtraSpaces = dedent(withoutMultipleNewlines);\n if (markdownAutoWrap === false) {\n return withoutExtraSpaces.replace(/ /g, \"&nbsp;\");\n }\n return withoutExtraSpaces;\n}\n__name(preprocessMarkdown, \"preprocessMarkdown\");\nfunction markdownToLines(markdown, config = {}) {\n const preprocessedMarkdown = preprocessMarkdown(markdown, config);\n const nodes = marked.lexer(preprocessedMarkdown);\n const lines = [[]];\n let currentLine = 0;\n function processNode(node, parentType = \"normal\") {\n if (node.type === \"text\") {\n const textLines = node.text.split(\"\\n\");\n textLines.forEach((textLine, index) => {\n if (index !== 0) {\n currentLine++;\n lines.push([]);\n }\n textLine.split(\" \").forEach((word) => {\n word = word.replace(/&#39;/g, `'`);\n if (word) {\n lines[currentLine].push({ content: word, type: parentType });\n }\n });\n });\n } else if (node.type === \"strong\" || node.type === \"em\") {\n node.tokens.forEach((contentNode) => {\n processNode(contentNode, node.type);\n });\n } else if (node.type === \"html\") {\n lines[currentLine].push({ content: node.text, type: \"normal\" });\n }\n }\n __name(processNode, \"processNode\");\n nodes.forEach((treeNode) => {\n if (treeNode.type === \"paragraph\") {\n treeNode.tokens?.forEach((contentNode) => {\n processNode(contentNode);\n });\n } else if (treeNode.type === \"html\") {\n lines[currentLine].push({ content: treeNode.text, type: \"normal\" });\n } else {\n lines[currentLine].push({ content: treeNode.raw, type: \"normal\" });\n }\n });\n return lines;\n}\n__name(markdownToLines, \"markdownToLines\");\nfunction markdownToHTML(markdown, { markdownAutoWrap } = {}) {\n const nodes = marked.lexer(markdown);\n function output(node) {\n if (node.type === \"text\") {\n if (markdownAutoWrap === false) {\n return node.text.replace(/\\n */g, \"<br/>\").replace(/ /g, \"&nbsp;\");\n }\n return node.text.replace(/\\n */g, \"<br/>\");\n } else if (node.type === \"strong\") {\n return `<strong>${node.tokens?.map(output).join(\"\")}</strong>`;\n } else if (node.type === \"em\") {\n return `<em>${node.tokens?.map(output).join(\"\")}</em>`;\n } else if (node.type === \"paragraph\") {\n return `<p>${node.tokens?.map(output).join(\"\")}</p>`;\n } else if (node.type === \"space\") {\n return \"\";\n } else if (node.type === \"html\") {\n return `${node.text}`;\n } else if (node.type === \"escape\") {\n return node.text;\n }\n log.warn(`Unsupported markdown: ${node.type}`);\n return node.raw;\n }\n __name(output, \"output\");\n return nodes.map(output).join(\"\");\n}\n__name(markdownToHTML, \"markdownToHTML\");\n\n// src/rendering-util/splitText.ts\nfunction splitTextToChars(text) {\n if (Intl.Segmenter) {\n return [...new Intl.Segmenter().segment(text)].map((s) => s.segment);\n }\n return [...text];\n}\n__name(splitTextToChars, \"splitTextToChars\");\nfunction splitWordToFitWidth(checkFit, word) {\n const characters = splitTextToChars(word.content);\n return splitWordToFitWidthRecursion(checkFit, [], characters, word.type);\n}\n__name(splitWordToFitWidth, \"splitWordToFitWidth\");\nfunction splitWordToFitWidthRecursion(checkFit, usedChars, remainingChars, type) {\n if (remainingChars.length === 0) {\n return [\n { content: usedChars.join(\"\"), type },\n { content: \"\", type }\n ];\n }\n const [nextChar, ...rest] = remainingChars;\n const newWord = [...usedChars, nextChar];\n if (checkFit([{ content: newWord.join(\"\"), type }])) {\n return splitWordToFitWidthRecursion(checkFit, newWord, rest, type);\n }\n if (usedChars.length === 0 && nextChar) {\n usedChars.push(nextChar);\n remainingChars.shift();\n }\n return [\n { content: usedChars.join(\"\"), type },\n { content: remainingChars.join(\"\"), type }\n ];\n}\n__name(splitWordToFitWidthRecursion, \"splitWordToFitWidthRecursion\");\nfunction splitLineToFitWidth(line, checkFit) {\n if (line.some(({ content }) => content.includes(\"\\n\"))) {\n throw new Error(\"splitLineToFitWidth does not support newlines in the line\");\n }\n return splitLineToFitWidthRecursion(line, checkFit);\n}\n__name(splitLineToFitWidth, \"splitLineToFitWidth\");\nfunction splitLineToFitWidthRecursion(words, checkFit, lines = [], newLine = []) {\n if (words.length === 0) {\n if (newLine.length > 0) {\n lines.push(newLine);\n }\n return lines.length > 0 ? lines : [];\n }\n let joiner = \"\";\n if (words[0].content === \" \") {\n joiner = \" \";\n words.shift();\n }\n const nextWord = words.shift() ?? { content: \" \", type: \"normal\" };\n const lineWithNextWord = [...newLine];\n if (joiner !== \"\") {\n lineWithNextWord.push({ content: joiner, type: \"normal\" });\n }\n lineWithNextWord.push(nextWord);\n if (checkFit(lineWithNextWord)) {\n return splitLineToFitWidthRecursion(words, checkFit, lines, lineWithNextWord);\n }\n if (newLine.length > 0) {\n lines.push(newLine);\n words.unshift(nextWord);\n } else if (nextWord.content) {\n const [line, rest] = splitWordToFitWidth(checkFit, nextWord);\n lines.push([line]);\n if (rest.content) {\n words.unshift(rest);\n }\n }\n return splitLineToFitWidthRecursion(words, checkFit, lines);\n}\n__name(splitLineToFitWidthRecursion, \"splitLineToFitWidthRecursion\");\n\n// src/rendering-util/createText.ts\nfunction applyStyle(dom, styleFn) {\n if (styleFn) {\n dom.attr(\"style\", styleFn);\n }\n}\n__name(applyStyle, \"applyStyle\");\nasync function addHtmlSpan(element, node, width, classes, addBackground = false, config = getConfig()) {\n const fo = element.append(\"foreignObject\");\n fo.attr(\"width\", `${10 * width}px`);\n fo.attr(\"height\", `${10 * width}px`);\n const div = fo.append(\"xhtml:div\");\n const sanitizedLabel = hasKatex(node.label) ? await renderKatexSanitized(node.label.replace(common_default.lineBreakRegex, \"\\n\"), config) : sanitizeText(node.label, config);\n const labelClass = node.isNode ? \"nodeLabel\" : \"edgeLabel\";\n const span = div.append(\"span\");\n span.html(sanitizedLabel);\n applyStyle(span, node.labelStyle);\n span.attr(\"class\", `${labelClass} ${classes}`);\n applyStyle(div, node.labelStyle);\n div.style(\"display\", \"table-cell\");\n div.style(\"white-space\", \"nowrap\");\n div.style(\"line-height\", \"1.5\");\n div.style(\"max-width\", width + \"px\");\n div.style(\"text-align\", \"center\");\n div.attr(\"xmlns\", \"http://www.w3.org/1999/xhtml\");\n if (addBackground) {\n div.attr(\"class\", \"labelBkg\");\n }\n let bbox = div.node().getBoundingClientRect();\n if (bbox.width === width) {\n div.style(\"display\", \"table\");\n div.style(\"white-space\", \"break-spaces\");\n div.style(\"width\", width + \"px\");\n bbox = div.node().getBoundingClientRect();\n }\n return fo.node();\n}\n__name(addHtmlSpan, \"addHtmlSpan\");\nfunction createTspan(textElement, lineIndex, lineHeight) {\n return textElement.append(\"tspan\").attr(\"class\", \"text-outer-tspan\").attr(\"x\", 0).attr(\"y\", lineIndex * lineHeight - 0.1 + \"em\").attr(\"dy\", lineHeight + \"em\");\n}\n__name(createTspan, \"createTspan\");\nfunction computeWidthOfText(parentNode, lineHeight, line) {\n const testElement = parentNode.append(\"text\");\n const testSpan = createTspan(testElement, 1, lineHeight);\n updateTextContentAndStyles(testSpan, line);\n const textLength = testSpan.node().getComputedTextLength();\n testElement.remove();\n return textLength;\n}\n__name(computeWidthOfText, \"computeWidthOfText\");\nfunction computeDimensionOfText(parentNode, lineHeight, text) {\n const testElement = parentNode.append(\"text\");\n const testSpan = createTspan(testElement, 1, lineHeight);\n updateTextContentAndStyles(testSpan, [{ content: text, type: \"normal\" }]);\n const textDimension = testSpan.node()?.getBoundingClientRect();\n if (textDimension) {\n testElement.remove();\n }\n return textDimension;\n}\n__name(computeDimensionOfText, \"computeDimensionOfText\");\nfunction createFormattedText(width, g, structuredText, addBackground = false) {\n const lineHeight = 1.1;\n const labelGroup = g.append(\"g\");\n const bkg = labelGroup.insert(\"rect\").attr(\"class\", \"background\").attr(\"style\", \"stroke: none\");\n const textElement = labelGroup.append(\"text\").attr(\"y\", \"-10.1\");\n let lineIndex = 0;\n for (const line of structuredText) {\n const checkWidth = /* @__PURE__ */ __name((line2) => computeWidthOfText(labelGroup, lineHeight, line2) <= width, \"checkWidth\");\n const linesUnderWidth = checkWidth(line) ? [line] : splitLineToFitWidth(line, checkWidth);\n for (const preparedLine of linesUnderWidth) {\n const tspan = createTspan(textElement, lineIndex, lineHeight);\n updateTextContentAndStyles(tspan, preparedLine);\n lineIndex++;\n }\n }\n if (addBackground) {\n const bbox = textElement.node().getBBox();\n const padding = 2;\n bkg.attr(\"x\", bbox.x - padding).attr(\"y\", bbox.y - padding).attr(\"width\", bbox.width + 2 * padding).attr(\"height\", bbox.height + 2 * padding);\n return labelGroup.node();\n } else {\n return textElement.node();\n }\n}\n__name(createFormattedText, \"createFormattedText\");\nfunction updateTextContentAndStyles(tspan, wrappedLine) {\n tspan.text(\"\");\n wrappedLine.forEach((word, index) => {\n const innerTspan = tspan.append(\"tspan\").attr(\"font-style\", word.type === \"em\" ? \"italic\" : \"normal\").attr(\"class\", \"text-inner-tspan\").attr(\"font-weight\", word.type === \"strong\" ? \"bold\" : \"normal\");\n if (index === 0) {\n innerTspan.text(word.content);\n } else {\n innerTspan.text(\" \" + word.content);\n }\n });\n}\n__name(updateTextContentAndStyles, \"updateTextContentAndStyles\");\nasync function replaceIconSubstring(text, config = {}) {\n const pendingReplacements = [];\n text.replace(/(fa[bklrs]?):fa-([\\w-]+)/g, (fullMatch, prefix, iconName) => {\n pendingReplacements.push(\n (async () => {\n const registeredIconName = `${prefix}:${iconName}`;\n if (await isIconAvailable(registeredIconName)) {\n return await getIconSVG(registeredIconName, void 0, { class: \"label-icon\" });\n } else {\n return `<i class='${sanitizeText(fullMatch, config).replace(\":\", \" \")}'></i>`;\n }\n })()\n );\n return fullMatch;\n });\n const replacements = await Promise.all(pendingReplacements);\n return text.replace(/(fa[bklrs]?):fa-([\\w-]+)/g, () => replacements.shift() ?? \"\");\n}\n__name(replaceIconSubstring, \"replaceIconSubstring\");\nvar createText = /* @__PURE__ */ __name(async (el, text = \"\", {\n style = \"\",\n isTitle = false,\n classes = \"\",\n useHtmlLabels = true,\n isNode = true,\n width = 200,\n addSvgBackground = false\n} = {}, config) => {\n log.debug(\n \"XYZ createText\",\n text,\n style,\n isTitle,\n classes,\n useHtmlLabels,\n isNode,\n \"addSvgBackground: \",\n addSvgBackground\n );\n if (useHtmlLabels) {\n const htmlText = markdownToHTML(text, config);\n const decodedReplacedText = await replaceIconSubstring(decodeEntities(htmlText), config);\n const inputForKatex = text.replace(/\\\\\\\\/g, \"\\\\\");\n const node = {\n isNode,\n label: hasKatex(text) ? inputForKatex : decodedReplacedText,\n labelStyle: style.replace(\"fill:\", \"color:\")\n };\n const vertexNode = await addHtmlSpan(el, node, width, classes, addSvgBackground, config);\n return vertexNode;\n } else {\n const sanitizeBR = text.replace(/<br\\s*\\/?>/g, \"<br/>\");\n const structuredText = markdownToLines(sanitizeBR.replace(\"<br>\", \"<br/>\"), config);\n const svgLabel = createFormattedText(\n width,\n el,\n structuredText,\n text ? addSvgBackground : false\n );\n if (isNode) {\n if (/stroke:/.exec(style)) {\n style = style.replace(\"stroke:\", \"lineColor:\");\n }\n const nodeLabelTextStyle = style.replace(/stroke:[^;]+;?/g, \"\").replace(/stroke-width:[^;]+;?/g, \"\").replace(/fill:[^;]+;?/g, \"\").replace(/color:/g, \"fill:\");\n select(svgLabel).attr(\"style\", nodeLabelTextStyle);\n } else {\n const edgeLabelRectStyle = style.replace(/stroke:[^;]+;?/g, \"\").replace(/stroke-width:[^;]+;?/g, \"\").replace(/fill:[^;]+;?/g, \"\").replace(/background:/g, \"fill:\");\n select(svgLabel).select(\"rect\").attr(\"style\", edgeLabelRectStyle.replace(/background:/g, \"fill:\"));\n const edgeLabelTextStyle = style.replace(/stroke:[^;]+;?/g, \"\").replace(/stroke-width:[^;]+;?/g, \"\").replace(/fill:[^;]+;?/g, \"\").replace(/color:/g, \"fill:\");\n select(svgLabel).select(\"text\").attr(\"style\", edgeLabelTextStyle);\n }\n return svgLabel;\n }\n}, \"createText\");\n\nexport {\n unknownIcon,\n registerIconPacks,\n getIconSVG,\n computeDimensionOfText,\n replaceIconSubstring,\n createText\n};\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13],"mappings":"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"}