@marimo-team/frontend 0.23.7-dev2 → 0.23.7-dev3

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.
@@ -1,11 +1,11 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./c4Diagram-YG6GDRKO-DHRUX7S-.js","./dist-DxxvVPQH.js","./chunk-LvLJmgfZ.js","./src-CmKhyEBC.js","./src-nKy6a3tt.js","./timer-CIInKAPS.js","./chunk-S3R3BYOJ-DGKPoF4U.js","./step-BE8c2ivx.js","./math-Bf0RgaKx.js","./chunk-ABZYJK2D-BInZW7OW.js","./preload-helper-DItdS47A.js","./purify.es-DBmVz-Wl.js","./merge-_9WLTEyt.js","./_baseFor-DKD1r8uL.js","./isObject-DvLSfCY5.js","./memoize-Tp7rARFe.js","./chunk-TZMSLE5B-Bfbjtd_W.js","./flowDiagram-NV44I4VS-LeaIbfPS.js","./chunk-JA3XYJ7Z-C6cvGHie.js","./channel-CWEEnT6g.js","./chunk-55IACEB6-DD051KDZ.js","./chunk-ATLVNIR6-_9Zaw7IP.js","./chunk-CVBHYZKI-Brsoob-W.js","./chunk-FMBD7UC4-Bt9icXTy.js","./chunk-HN2XXSSU-BBxJMYrA.js","./chunk-JZLCHNYA-BM-e2D_8.js","./chunk-MI3HLSF2-D6we5Ftb.js","./chunk-N4CR4FBY-BREYOeLP.js","./chunk-QXUST7PY-Q2jlSUop.js","./line-j0cbFv7-.js","./path-LDcaQ64B.js","./array-BCwZq3ts.js","./chunk-QN33PNHL-DwGffwWu.js","./erDiagram-Q2GNP2WA-CPtVWZYn.js","./gitGraphDiagram-V2S2FVAM-B9HDL4DZ.js","./chunk-TCCFYFTB-ClOYb5MI.js","./isEmpty-CXeoXbuc.js","./_baseUniq-CbY8vx1e.js","./get-C-qh_et5.js","./isSymbol-BT6B8Bon.js","./hasIn-DiS_ryrS.js","./min-12WNOJ9e.js","./flatten-Dl4V1ub3.js","./main-B0OX4z33.js","./chunk-4F5CHEZ2-BBsStyPF.js","./chunk-B2363JML-CPCjJ6tH.js","./chunk-FRFDVMJY-D6StbPqE.js","./chunk-PL6DKKU2-x3Qoia3Y.js","./chunk-SJTYNZTY-BNaCydHS.js","./chunk-TQ3KTPDO-DfYTN8Ct.js","./chunk-UMXZTB3W-DsE6dCbX.js","./mermaid-parser.core-BQULBKwL.js","./chunk-4BX2VUAB-mPGRpph5.js","./chunk-QZHKN3VN-CeNfSWg4.js","./ganttDiagram-JELNMOA3-Bj-STLOZ.js","./linear-Cof2JLCQ.js","./precisionRound-C3fmBb6j.js","./defaultLocale-YteS-k_t.js","./init-DE_uL9Ns.js","./time-C12vLLcl.js","./defaultLocale-B6z1Qyqt.js","./infoDiagram-HS3SLOUP-BDcw9LMK.js","./chunk-DR5Q36YT-DpSMafKt.js","./chunk-EXTU4WIE-Cwo9-IiR.js","./pieDiagram-ADFJNKIX-CqhovvcK.js","./ordinal-K0JYqmCT.js","./arc-ONRhTAm2.js","./quadrantDiagram-AYHSOK5B-BNyiC3hL.js","./xychartDiagram-PRI3JC2R-CmNNcgCM.js","./range-7fnH_zLA.js","./requirementDiagram-UZGBJVZJ-U4CoEx7e.js","./sequenceDiagram-WL72ISMW-CB8apKmu.js","./classDiagram-2ON5EDUG-CBbpzZPu.js","./chunk-B4BG7PRW-Bg43tpY1.js","./classDiagram-v2-WZHVMYZB-B0cWCuuo.js","./stateDiagram-FKZM4ZOC-3YqeHe0_.js","./dagre-DhAJ2E-3.js","./graphlib-CRNG9rUk.js","./pick-DqWUNly1.js","./_baseSet-CxV9N1bc.js","./now-CsYTPAhW.js","./chunk-DI55MBZ5-DX01Gov5.js","./stateDiagram-v2-4FDKWEC3-Dfvjjqh4.js","./journeyDiagram-XKPGCS4Q-D29tj64e.js","./timeline-definition-IT6M3QCI-DZQqxPSn.js","./mindmap-definition-VGOIOE7T-Cy9nt356.js","./kanban-definition-3W4ZIXB7-DStZ4tGj.js","./sankeyDiagram-TZEHDZUN-BXgCc5j4.js","./colors-CI3VyX7X.js","./diagram-S2PKOQOG-cc2LNQee.js","./diagram-QEK2KX5R-DhI0d2dH.js","./blockDiagram-VD42YOAC-Dy-_c6-H.js","./clone-wB3InSdt.js","./architectureDiagram-VXUJARFQ-JNogHSZh.js","./cytoscape.esm-BbAjzIsa.js","./diagram-PSM6KHXK-B_Cc0ttH.js","./treemap-BKxvGXqJ.js"])))=>i.map(i=>d[i]);
2
- import{s as xt}from"./chunk-LvLJmgfZ.js";import"./useEvent-D91BmmQi.js";import{t as ma}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import{t as ua}from"./compiler-runtime-B3qBwwSJ.js";import{t as Dt}from"./isEmpty-CXeoXbuc.js";import{_ as ga}from"./useEventListener-BR0C1MaI.js";import{t as pa}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-BDxedMYP.js";import{t as g}from"./preload-helper-DItdS47A.js";import{r as fa}from"./useTheme-DFXuDFj9.js";import{t as ya}from"./purify.es-DBmVz-Wl.js";import{n as ha}from"./error-banner-C6aBa98y.js";import{n as wa}from"./useAsyncData-BFC6lWG9.js";import{u as V}from"./src-nKy6a3tt.js";import{a as _a,f as vt,g as B,h as ba,i as Ea,o as xa}from"./chunk-S3R3BYOJ-DGKPoF4U.js";import{t as Tt}from"./chunk-DR5Q36YT-DpSMafKt.js";import{i as Lt,n as i,r as _}from"./src-CmKhyEBC.js";import{J as me,M as ue,P as K,R as Da,S as va,V as Ta,W as La,Y as Aa,c as ka,f as At,g as Ra,h as Ia,j as ee,l as kt,n as Pa,p as ge,q as Oa,r as Ma,t as Va,w as Rt,x as pe,y as G,__tla as Sa}from"./chunk-ABZYJK2D-BInZW7OW.js";import{t as Fa}from"./chunk-EXTU4WIE-Cwo9-IiR.js";import{n as $a,t as za}from"./chunk-MI3HLSF2-D6we5Ftb.js";import"./chunk-HN2XXSSU-BBxJMYrA.js";import"./chunk-CVBHYZKI-Brsoob-W.js";import"./chunk-ATLVNIR6-_9Zaw7IP.js";import"./dist-DxxvVPQH.js";import{i as ja,s as qa}from"./chunk-JA3XYJ7Z-C6cvGHie.js";import"./chunk-JZLCHNYA-BM-e2D_8.js";import"./chunk-QXUST7PY-Q2jlSUop.js";import{n as Ca,__tla as Ha}from"./chunk-N4CR4FBY-BREYOeLP.js";let It,Ba=Promise.all([(()=>{try{return Sa}catch{}})(),(()=>{try{return Ha}catch{}})()]).then(async()=>{var F;var fe="comm",ye="rule",he="decl",Pt="@import",Ot="@namespace",Mt="@keyframes",Vt="@layer",we=Math.abs,te=String.fromCharCode;function _e(e){return e.trim()}function N(e,t,r){return e.replace(t,r)}function St(e,t,r){return e.indexOf(t,r)}function z(e,t){return e.charCodeAt(t)|0}function j(e,t,r){return e.slice(t,r)}function k(e){return e.length}function Ft(e){return e.length}function Y(e,t){return t.push(e),e}var U=1,q=1,be=0,x=0,h=0,C="";function re(e,t,r,a,n,o,s,c){return{value:e,root:t,parent:r,type:a,props:n,children:o,line:U,column:q,length:s,return:"",siblings:c}}function $t(){return h}function zt(){return h=x>0?z(C,--x):0,q--,h===10&&(q=1,U--),h}function v(){return h=x<be?z(C,x++):0,q++,h===10&&(q=1,U++),h}function M(){return z(C,x)}function W(){return x}function J(e,t){return j(C,e,t)}function H(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function jt(e){return U=q=1,be=k(C=e),x=0,[]}function qt(e){return C="",e}function ae(e){return _e(J(x-1,ie(e===91?e+2:e===40?e+1:e)))}function Ct(e){for(;(h=M())&&h<33;)v();return H(e)>2||H(h)>3?"":" "}function Ht(e,t){for(;--t&&v()&&!(h<48||h>102||h>57&&h<65||h>70&&h<97););return J(e,W()+(t<6&&M()==32&&v()==32))}function ie(e){for(;v();)switch(h){case e:return x;case 34:case 39:e!==34&&e!==39&&ie(h);break;case 40:e===41&&ie(e);break;case 92:v();break}return x}function Bt(e,t){for(;v()&&e+h!==57&&!(e+h===84&&M()===47););return"/*"+J(t,x-1)+"*"+te(e===47?e:v())}function Gt(e){for(;!H(M());)v();return J(e,x)}function Nt(e){return qt(Q("",null,null,null,[""],e=jt(e),0,[0],e))}function Q(e,t,r,a,n,o,s,c,d){for(var u=0,p=0,l=s,f=0,b=0,T=0,y=1,P=1,L=1,w=0,A="",O=n,R=o,D=a,m=A;P;)switch(T=w,w=v()){case 40:if(T!=108&&z(m,l-1)==58){St(m+=N(ae(w),"&","&\f"),"&\f",we(u?c[u-1]:0))!=-1&&(L=-1);break}case 34:case 39:case 91:m+=ae(w);break;case 9:case 10:case 13:case 32:m+=Ct(T);break;case 92:m+=Ht(W()-1,7);continue;case 47:switch(M()){case 42:case 47:Y(Yt(Bt(v(),W()),t,r,d),d),(H(T||1)==5||H(M()||1)==5)&&k(m)&&j(m,-1,void 0)!==" "&&(m+=" ");break;default:m+="/"}break;case 123*y:c[u++]=k(m)*L;case 125*y:case 59:case 0:switch(w){case 0:case 125:P=0;case 59+p:L==-1&&(m=N(m,/\f/g,"")),b>0&&(k(m)-l||y===0&&T===47)&&Y(b>32?xe(m+";",a,r,l-1,d):xe(N(m," ","")+";",a,r,l-2,d),d);break;case 59:m+=";";default:if(Y(D=Ee(m,t,r,u,p,n,c,A,O=[],R=[],l,o),o),w===123)if(p===0)Q(m,t,D,D,O,o,l,c,R);else{switch(f){case 99:if(z(m,3)===110)break;case 108:if(z(m,2)===97)break;default:p=0;case 100:case 109:case 115:}p?Q(e,D,D,a&&Y(Ee(e,D,D,0,0,n,c,A,n,O=[],l,R),R),n,R,l,c,a?O:R):Q(m,D,D,D,[""],R,0,c,R)}}u=p=b=0,y=L=1,A=m="",l=s;break;case 58:l=1+k(m),b=T;default:if(y<1){if(w==123)--y;else if(w==125&&y++==0&&zt()==125)continue}switch(m+=te(w),w*y){case 38:L=p>0?1:(m+="\f",-1);break;case 44:c[u++]=(k(m)-1)*L,L=1;break;case 64:M()===45&&(m+=ae(v())),f=M(),p=l=k(A=m+=Gt(W())),w++;break;case 45:T===45&&k(m)==2&&(y=0)}}return o}function Ee(e,t,r,a,n,o,s,c,d,u,p,l){for(var f=n-1,b=n===0?o:[""],T=Ft(b),y=0,P=0,L=0;y<a;++y)for(var w=0,A=j(e,f+1,f=we(P=s[y])),O=e;w<T;++w)(O=_e(P>0?b[w]+" "+A:N(A,/&\f/g,b[w])))&&(d[L++]=O);return re(e,t,r,n===0?ye:c,d,u,p,l)}function Yt(e,t,r,a){return re(e,t,r,fe,te($t()),j(e,2,-2),0,a)}function xe(e,t,r,a,n){return re(e,t,r,he,j(e,0,a),j(e,a+1,-1),a,n)}function ne(e,t){for(var r="",a=0;a<e.length;a++)r+=t(e[a],a,e,t)||"";return r}function Ut(e,t,r,a){switch(e.type){case Vt:if(e.children.length)break;case Pt:case Ot:case he:return e.return=e.return||e.value;case fe:return"";case Mt:return e.return=e.value+"{"+ne(e.children,a)+"}";case ye:if(!k(e.value=e.props.join(",")))return""}return k(r=ne(e.children,a))?e.return=e.value+"{"+r+"}":""}var Wt=ua(),De="c4",Jt={id:De,detector:i(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./c4Diagram-YG6GDRKO-DHRUX7S-.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]),import.meta.url);return{id:De,diagram:e}},"loader")},ve="flowchart",Qt={id:ve,detector:i((e,t)=>{var r,a;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-wrapper"||((a=t==null?void 0:t.flowchart)==null?void 0:a.defaultRenderer)==="elk"?!1:/^\s*graph/.test(e)},"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./flowDiagram-NV44I4VS-LeaIbfPS.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([17,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,19,20,21,22,23,24,25,26,27,28,29,30,31,32]),import.meta.url);return{id:ve,diagram:e}},"loader")},Te="flowchart-v2",Xt={id:Te,detector:i((e,t)=>{var r,a,n;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-d3"?!1:(((a=t==null?void 0:t.flowchart)==null?void 0:a.defaultRenderer)==="elk"&&(t.layout="elk"),/^\s*graph/.test(e)&&((n=t==null?void 0:t.flowchart)==null?void 0:n.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(e))},"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./flowDiagram-NV44I4VS-LeaIbfPS.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([17,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,19,20,21,22,23,24,25,26,27,28,29,30,31,32]),import.meta.url);return{id:Te,diagram:e}},"loader")},Le="er",Zt={id:Le,detector:i(e=>/^\s*erDiagram/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./erDiagram-Q2GNP2WA-CPtVWZYn.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([33,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,19,20,21,22,24,25,27,28,29,30,31,32]),import.meta.url);return{id:Le,diagram:e}},"loader")},Ae="gitGraph",Kt={id:Ae,detector:i(e=>/^\s*gitGraph/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./gitGraphDiagram-V2S2FVAM-B9HDL4DZ.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([34,1,2,35,36,13,14,37,38,39,15,40,41,42,43,44,45,46,47,48,49,50,51,10,3,4,5,6,7,8,9,11,12,52,53]),import.meta.url);return{id:Ae,diagram:e}},"loader")},ke="gantt",er={id:ke,detector:i(e=>/^\s*gantt/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./ganttDiagram-JELNMOA3-Bj-STLOZ.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([54,1,2,55,56,57,5,58,59,60,3,4,6,7,8,9,10,11,12,13,14,15]),import.meta.url);return{id:ke,diagram:e}},"loader")},Re="info",tr={id:Re,detector:i(e=>/^\s*info/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./infoDiagram-HS3SLOUP-BDcw9LMK.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([61,35,36,13,14,37,38,39,15,40,41,42,43,2,44,45,46,47,48,49,50,51,10,3,4,5,11,9,62,63]),import.meta.url);return{id:Re,diagram:e}},"loader")},Ie="pie",rr={id:Ie,detector:i(e=>/^\s*pie/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./pieDiagram-ADFJNKIX-CqhovvcK.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([64,1,2,35,36,13,14,37,38,39,15,40,41,42,43,44,45,46,47,48,49,50,51,10,3,4,5,30,65,58,66,8,31,6,7,9,11,12,52,63]),import.meta.url);return{id:Ie,diagram:e}},"loader")},Pe="quadrantChart",ar={id:Pe,detector:i(e=>/^\s*quadrantChart/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./quadrantDiagram-AYHSOK5B-BNyiC3hL.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([67,55,56,57,5,2,58,3,4,11,9,10]),import.meta.url);return{id:Pe,diagram:e}},"loader")},Oe="xychart",ir={id:Oe,detector:i(e=>/^\s*xychart(-beta)?/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./xychartDiagram-PRI3JC2R-CmNNcgCM.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([68,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,55,56,57,58,69,65,29,30,31,63]),import.meta.url);return{id:Oe,diagram:e}},"loader")},Me="requirement",nr={id:Me,detector:i(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./requirementDiagram-UZGBJVZJ-U4CoEx7e.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([70,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,20,21,22,24,25,27,28,29,30,31,32]),import.meta.url);return{id:Me,diagram:e}},"loader")},Ve="sequence",or={id:Ve,detector:i(e=>/^\s*sequenceDiagram/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./sequenceDiagram-WL72ISMW-CB8apKmu.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([71,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,26,53,16]),import.meta.url);return{id:Ve,diagram:e}},"loader")},Se="class",sr={id:Se,detector:i((e,t)=>{var r;return((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(e)},"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./classDiagram-2ON5EDUG-CBbpzZPu.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([72,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,20,21,73,23,27,25,22,28,29,30,31,24,32]),import.meta.url);return{id:Se,diagram:e}},"loader")},Fe="classDiagram",dr={id:Fe,detector:i((e,t)=>{var r;return/^\s*classDiagram/.test(e)&&((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(e)},"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./classDiagram-v2-WZHVMYZB-B0cWCuuo.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([74,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,20,21,73,23,27,25,22,28,29,30,31,24,32]),import.meta.url);return{id:Fe,diagram:e}},"loader")},$e="state",lr={id:$e,detector:i((e,t)=>{var r;return((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(e)},"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./stateDiagram-FKZM4ZOC-3YqeHe0_.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([75,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,29,30,31,76,77,36,37,38,39,40,41,78,79,42,80,20,21,22,81,27,25,28,24,32]),import.meta.url);return{id:$e,diagram:e}},"loader")},ze="stateDiagram",cr={id:ze,detector:i((e,t)=>{var r;return!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./stateDiagram-v2-4FDKWEC3-Dfvjjqh4.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([82,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,20,21,22,81,27,25,28,29,30,31,24,32]),import.meta.url);return{id:ze,diagram:e}},"loader")},je="journey",mr={id:je,detector:i(e=>/^\s*journey/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./journeyDiagram-XKPGCS4Q-D29tj64e.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([83,1,2,3,4,5,66,30,8,11,9,10,23,16]),import.meta.url);return{id:je,diagram:e}},"loader")},qe={draw:i((e,t,r)=>{_.debug(`rendering svg for syntax error
3
- `);let a=Fa(t),n=a.append("g");a.attr("viewBox","0 0 2412 512"),ka(a,100,512,!0),n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw")},ur=qe,gr={db:{},renderer:qe,parser:{parse:i(()=>{},"parse")}},Ce="flowchart-elk",pr={id:Ce,detector:i((e,t={})=>{var r;return/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="elk"?(t.layout="elk",!0):!1},"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./flowDiagram-NV44I4VS-LeaIbfPS.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([17,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,19,20,21,22,23,24,25,26,27,28,29,30,31,32]),import.meta.url);return{id:Ce,diagram:e}},"loader")},He="timeline",fr={id:He,detector:i(e=>/^\s*timeline/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./timeline-definition-IT6M3QCI-DZQqxPSn.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([84,3,2,4,5,66,30,8,11,9,10]),import.meta.url);return{id:He,diagram:e}},"loader")},Be="mindmap",yr={id:Be,detector:i(e=>/^\s*mindmap/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./mindmap-definition-VGOIOE7T-Cy9nt356.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([85,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,20,21,22,24,25,27,28,29,30,31,32]),import.meta.url);return{id:Be,diagram:e}},"loader")},Ge="kanban",hr={id:Ge,detector:i(e=>/^\s*kanban/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./kanban-definition-3W4ZIXB7-DStZ4tGj.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([86,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,21,22,63,23,25,26]),import.meta.url);return{id:Ge,diagram:e}},"loader")},Ne="sankey",wr={id:Ne,detector:i(e=>/^\s*sankey(-beta)?/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./sankeyDiagram-TZEHDZUN-BXgCc5j4.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([87,3,2,4,5,88,65,58,11,9,10]),import.meta.url);return{id:Ne,diagram:e}},"loader")},Ye="packet",_r={id:Ye,detector:i(e=>/^\s*packet(-beta)?/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./diagram-S2PKOQOG-cc2LNQee.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([89,1,2,35,36,13,14,37,38,39,15,40,41,42,43,44,45,46,47,48,49,50,51,10,3,4,5,6,7,8,9,11,12,52,63]),import.meta.url);return{id:Ye,diagram:e}},"loader")},Ue="radar",br={id:Ue,detector:i(e=>/^\s*radar-beta/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./diagram-QEK2KX5R-DhI0d2dH.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([90,1,2,35,36,13,14,37,38,39,15,40,41,42,43,44,45,46,47,48,49,50,51,10,3,4,5,6,7,8,9,11,12,52,63]),import.meta.url);return{id:Ue,diagram:e}},"loader")},We="block",Er={id:We,detector:i(e=>/^\s*block(-beta)?/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./blockDiagram-VD42YOAC-Dy-_c6-H.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([91,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,29,30,31,77,36,37,38,39,40,19,92,22,23,24]),import.meta.url);return{id:We,diagram:e}},"loader")},Je="architecture",xr={id:Je,detector:i(e=>/^\s*architecture/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./architectureDiagram-VXUJARFQ-JNogHSZh.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([93,1,2,35,36,13,14,37,38,39,15,40,41,42,43,18,3,4,5,6,7,8,9,10,11,12,44,45,46,47,48,49,50,51,94,52,63]),import.meta.url);return{id:Je,diagram:e}},"loader")},Qe="treemap",Dr={id:Qe,detector:i(e=>/^\s*treemap/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await g(async()=>{let{diagram:t}=await import("./diagram-PSM6KHXK-B_Cc0ttH.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([95,1,2,35,36,13,14,37,38,39,15,40,41,42,43,44,45,46,47,48,49,50,51,10,3,4,5,57,96,65,58,6,7,8,9,11,12,52,21,63,32]),import.meta.url);return{id:Qe,diagram:e}},"loader")},Xe=!1,X=i(()=>{Xe||(Xe=!0,ee("error",gr,e=>e.toLowerCase().trim()==="error"),ee("---",{db:{clear:i(()=>{},"clear")},styles:{},renderer:{draw:i(()=>{},"draw")},parser:{parse:i(()=>{throw Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:i(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),ue(pr,yr,xr),ue(Jt,hr,dr,sr,Zt,er,tr,rr,nr,or,Xt,Qt,fr,Kt,cr,lr,mr,ar,wr,_r,ir,Er,br,Dr))},"addDiagrams"),vr=i(async()=>{_.debug("Loading registered diagrams");let e=(await Promise.allSettled(Object.entries(ge).map(async([t,{detector:r,loader:a}])=>{if(a)try{pe(t)}catch{try{let{diagram:n,id:o}=await a();ee(o,n,r)}catch(n){throw _.error(`Failed to load external diagram with key ${t}. Removing from detectors.`),delete ge[t],n}}}))).filter(t=>t.status==="rejected");if(e.length>0){_.error(`Failed to load ${e.length} external diagrams`);for(let t of e)_.error(t);throw Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams"),Tr="graphics-document document";function Ze(e,t){e.attr("role",Tr),t!==""&&e.attr("aria-roledescription",t)}i(Ze,"setA11yDiagramInfo");function Ke(e,t,r,a){if(e.insert!==void 0){if(r){let n=`chart-desc-${a}`;e.attr("aria-describedby",n),e.insert("desc",":first-child").attr("id",n).text(r)}if(t){let n=`chart-title-${a}`;e.attr("aria-labelledby",n),e.insert("title",":first-child").attr("id",n).text(t)}}}i(Ke,"addSVGa11yTitleDescription");var oe=(F=class{constructor(t,r,a,n,o){this.type=t,this.text=r,this.db=a,this.parser=n,this.renderer=o}static async fromText(t,r={}){var u,p;let a=G(),n=At(t,a);t=xa(t)+`
4
- `;try{pe(n)}catch{let l=va(n);if(!l)throw new Va(`Diagram ${n} not found.`);let{id:f,diagram:b}=await l();ee(f,b)}let{db:o,parser:s,renderer:c,init:d}=pe(n);return s.parser&&(s.parser.yy=o),(u=o.clear)==null||u.call(o),d==null||d(a),r.title&&((p=o.setDiagramTitle)==null||p.call(o,r.title)),await s.parse(t),new F(n,t,o,s,c)}async render(t,r){await this.renderer.draw(this.text,t,r,this)}getParser(){return this.parser}getType(){return this.type}},i(F,"Diagram"),F),et=[],Lr=i(()=>{et.forEach(e=>{e()}),et=[]},"attachFunctions"),Ar=i(e=>e.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function tt(e){let t=e.match(Ra);if(!t)return{text:e,metadata:{}};let r=$a(t[1],{schema:za})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};let a={};return r.displayMode&&(a.displayMode=r.displayMode.toString()),r.title&&(a.title=r.title.toString()),r.config&&(a.config=r.config),{text:e.slice(t[0].length),metadata:a}}i(tt,"extractFrontMatter");var kr=i(e=>e.replace(/\r\n?/g,`
5
- `).replace(/<(\w+)([^>]*)>/g,(t,r,a)=>"<"+r+a.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),Rr=i(e=>{let{text:t,metadata:r}=tt(e),{displayMode:a,title:n,config:o={}}=r;return a&&(o.gantt||(o.gantt={}),o.gantt.displayMode=a),{title:n,config:o,text:t}},"processFrontmatter"),Ir=i(e=>{let t=B.detectInit(e)??{},r=B.detectDirective(e,"wrap");return Array.isArray(r)?t.wrap=r.some(({type:a})=>a==="wrap"):(r==null?void 0:r.type)==="wrap"&&(t.wrap=!0),{text:ba(e),directive:t}},"processDirectives");function se(e){let t=Rr(kr(e)),r=Ir(t.text),a=Ea(t.config,r.directive);return e=Ar(r.text),{code:e,title:t.title,config:a}}i(se,"preprocessDiagram");function rt(e){let t=new TextEncoder().encode(e),r=Array.from(t,a=>String.fromCodePoint(a)).join("");return btoa(r)}i(rt,"toBase64");var Pr=5e4,Or="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",Mr="sandbox",Vr="loose",Sr="http://www.w3.org/2000/svg",Fr="http://www.w3.org/1999/xlink",$r="http://www.w3.org/1999/xhtml",zr="100%",jr="100%",qr="border:0;margin:0;",Cr="margin:0",Hr="allow-top-navigation-by-user-activation allow-popups",Br='The "iframe" tag is not supported by your browser.',Gr=["foreignobject"],Nr=["dominant-baseline"];function de(e){let t=se(e);return K(),Pa(t.config??{}),t}i(de,"processAndSetConfigs");async function at(e,t){X();try{let{code:r,config:a}=de(e);return{diagramType:(await st(r)).type,config:a}}catch(r){if(t!=null&&t.suppressErrors)return!1;throw r}}i(at,"parse");var it=i((e,t,r=[])=>`
2
+ import{s as xt}from"./chunk-LvLJmgfZ.js";import"./useEvent-D91BmmQi.js";import{t as ma}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import{t as ua}from"./compiler-runtime-B3qBwwSJ.js";import{t as vt}from"./isEmpty-CXeoXbuc.js";import{_ as ga}from"./useEventListener-BR0C1MaI.js";import{t as pa}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-BDxedMYP.js";import{t as p}from"./preload-helper-DItdS47A.js";import{r as fa}from"./useTheme-DFXuDFj9.js";import{t as ya}from"./purify.es-DBmVz-Wl.js";import{n as ha}from"./error-banner-C6aBa98y.js";import{n as _a}from"./useAsyncData-BFC6lWG9.js";import{u as M}from"./src-nKy6a3tt.js";import{a as wa,f as Dt,g as B,h as ba,i as Ea,o as xa}from"./chunk-S3R3BYOJ-DGKPoF4U.js";import{t as Tt}from"./chunk-DR5Q36YT-DpSMafKt.js";import{i as Lt,n as i,r as w}from"./src-CmKhyEBC.js";import{J as me,M as ue,P as K,R as va,S as Da,V as Ta,W as La,Y as Aa,c as ka,f as At,g as Ra,h as Ia,j as ee,l as kt,n as Pa,p as ge,q as Va,r as Oa,t as Ma,w as Rt,x as pe,y as G,__tla as Sa}from"./chunk-ABZYJK2D-BInZW7OW.js";import{t as Fa}from"./chunk-EXTU4WIE-Cwo9-IiR.js";import{n as $a,t as za}from"./chunk-MI3HLSF2-D6we5Ftb.js";import"./chunk-HN2XXSSU-BBxJMYrA.js";import"./chunk-CVBHYZKI-Brsoob-W.js";import"./chunk-ATLVNIR6-_9Zaw7IP.js";import"./dist-DxxvVPQH.js";import{i as ja,s as qa}from"./chunk-JA3XYJ7Z-C6cvGHie.js";import"./chunk-JZLCHNYA-BM-e2D_8.js";import"./chunk-QXUST7PY-Q2jlSUop.js";import{n as Ca,__tla as Ha}from"./chunk-N4CR4FBY-BREYOeLP.js";let It,Ba=Promise.all([(()=>{try{return Sa}catch{}})(),(()=>{try{return Ha}catch{}})()]).then(async()=>{var F;var fe="comm",ye="rule",he="decl",Pt="@import",Vt="@namespace",Ot="@keyframes",Mt="@layer",_e=Math.abs,te=String.fromCharCode;function we(e){return e.trim()}function N(e,t,r){return e.replace(t,r)}function St(e,t,r){return e.indexOf(t,r)}function z(e,t){return e.charCodeAt(t)|0}function j(e,t,r){return e.slice(t,r)}function R(e){return e.length}function Ft(e){return e.length}function Y(e,t){return t.push(e),e}var U=1,q=1,be=0,v=0,h=0,C="";function re(e,t,r,a,n,o,s,c){return{value:e,root:t,parent:r,type:a,props:n,children:o,line:U,column:q,length:s,return:"",siblings:c}}function $t(){return h}function zt(){return h=v>0?z(C,--v):0,q--,h===10&&(q=1,U--),h}function L(){return h=v<be?z(C,v++):0,q++,h===10&&(q=1,U++),h}function O(){return z(C,v)}function W(){return v}function J(e,t){return j(C,e,t)}function H(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function jt(e){return U=q=1,be=R(C=e),v=0,[]}function qt(e){return C="",e}function ae(e){return we(J(v-1,ie(e===91?e+2:e===40?e+1:e)))}function Ct(e){for(;(h=O())&&h<33;)L();return H(e)>2||H(h)>3?"":" "}function Ht(e,t){for(;--t&&L()&&!(h<48||h>102||h>57&&h<65||h>70&&h<97););return J(e,W()+(t<6&&O()==32&&L()==32))}function ie(e){for(;L();)switch(h){case e:return v;case 34:case 39:e!==34&&e!==39&&ie(h);break;case 40:e===41&&ie(e);break;case 92:L();break}return v}function Bt(e,t){for(;L()&&e+h!==57&&!(e+h===84&&O()===47););return"/*"+J(t,v-1)+"*"+te(e===47?e:L())}function Gt(e){for(;!H(O());)L();return J(e,v)}function Nt(e){return qt(Q("",null,null,null,[""],e=jt(e),0,[0],e))}function Q(e,t,r,a,n,o,s,c,d){for(var g=0,f=0,l=s,y=0,b=0,E=0,m=1,D=1,A=1,_=0,k="",V=n,I=o,T=a,u=k;D;)switch(E=_,_=L()){case 40:if(E!=108&&z(u,l-1)==58){St(u+=N(ae(_),"&","&\f"),"&\f",_e(g?c[g-1]:0))!=-1&&(A=-1);break}case 34:case 39:case 91:u+=ae(_);break;case 9:case 10:case 13:case 32:u+=Ct(E);break;case 92:u+=Ht(W()-1,7);continue;case 47:switch(O()){case 42:case 47:Y(Yt(Bt(L(),W()),t,r,d),d),(H(E||1)==5||H(O()||1)==5)&&R(u)&&j(u,-1,void 0)!==" "&&(u+=" ");break;default:u+="/"}break;case 123*m:c[g++]=R(u)*A;case 125*m:case 59:case 0:switch(_){case 0:case 125:D=0;case 59+f:A==-1&&(u=N(u,/\f/g,"")),b>0&&(R(u)-l||m===0&&E===47)&&Y(b>32?xe(u+";",a,r,l-1,d):xe(N(u," ","")+";",a,r,l-2,d),d);break;case 59:u+=";";default:if(Y(T=Ee(u,t,r,g,f,n,c,k,V=[],I=[],l,o),o),_===123)if(f===0)Q(u,t,T,T,V,o,l,c,I);else{switch(y){case 99:if(z(u,3)===110)break;case 108:if(z(u,2)===97)break;default:f=0;case 100:case 109:case 115:}f?Q(e,T,T,a&&Y(Ee(e,T,T,0,0,n,c,k,n,V=[],l,I),I),n,I,l,c,a?V:I):Q(u,T,T,T,[""],I,0,c,I)}}g=f=b=0,m=A=1,k=u="",l=s;break;case 58:l=1+R(u),b=E;default:if(m<1){if(_==123)--m;else if(_==125&&m++==0&&zt()==125)continue}switch(u+=te(_),_*m){case 38:A=f>0?1:(u+="\f",-1);break;case 44:c[g++]=(R(u)-1)*A,A=1;break;case 64:O()===45&&(u+=ae(L())),y=O(),f=l=R(k=u+=Gt(W())),_++;break;case 45:E===45&&R(u)==2&&(m=0)}}return o}function Ee(e,t,r,a,n,o,s,c,d,g,f,l){for(var y=n-1,b=n===0?o:[""],E=Ft(b),m=0,D=0,A=0;m<a;++m)for(var _=0,k=j(e,y+1,y=_e(D=s[m])),V=e;_<E;++_)(V=we(D>0?b[_]+" "+k:N(k,/&\f/g,b[_])))&&(d[A++]=V);return re(e,t,r,n===0?ye:c,d,g,f,l)}function Yt(e,t,r,a){return re(e,t,r,fe,te($t()),j(e,2,-2),0,a)}function xe(e,t,r,a,n){return re(e,t,r,he,j(e,0,a),j(e,a+1,-1),a,n)}function ne(e,t){for(var r="",a=0;a<e.length;a++)r+=t(e[a],a,e,t)||"";return r}function Ut(e,t,r,a){switch(e.type){case Mt:if(e.children.length)break;case Pt:case Vt:case he:return e.return=e.return||e.value;case fe:return"";case Ot:return e.return=e.value+"{"+ne(e.children,a)+"}";case ye:if(!R(e.value=e.props.join(",")))return""}return R(r=ne(e.children,a))?e.return=e.value+"{"+r+"}":""}var Wt=ua(),ve="c4",Jt={id:ve,detector:i(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./c4Diagram-YG6GDRKO-DHRUX7S-.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]),import.meta.url);return{id:ve,diagram:e}},"loader")},De="flowchart",Qt={id:De,detector:i((e,t)=>{var r,a;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-wrapper"||((a=t==null?void 0:t.flowchart)==null?void 0:a.defaultRenderer)==="elk"?!1:/^\s*graph/.test(e)},"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./flowDiagram-NV44I4VS-LeaIbfPS.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([17,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,19,20,21,22,23,24,25,26,27,28,29,30,31,32]),import.meta.url);return{id:De,diagram:e}},"loader")},Te="flowchart-v2",Xt={id:Te,detector:i((e,t)=>{var r,a,n;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-d3"?!1:(((a=t==null?void 0:t.flowchart)==null?void 0:a.defaultRenderer)==="elk"&&(t.layout="elk"),/^\s*graph/.test(e)&&((n=t==null?void 0:t.flowchart)==null?void 0:n.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(e))},"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./flowDiagram-NV44I4VS-LeaIbfPS.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([17,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,19,20,21,22,23,24,25,26,27,28,29,30,31,32]),import.meta.url);return{id:Te,diagram:e}},"loader")},Le="er",Zt={id:Le,detector:i(e=>/^\s*erDiagram/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./erDiagram-Q2GNP2WA-CPtVWZYn.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([33,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,19,20,21,22,24,25,27,28,29,30,31,32]),import.meta.url);return{id:Le,diagram:e}},"loader")},Ae="gitGraph",Kt={id:Ae,detector:i(e=>/^\s*gitGraph/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./gitGraphDiagram-V2S2FVAM-B9HDL4DZ.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([34,1,2,35,36,13,14,37,38,39,15,40,41,42,43,44,45,46,47,48,49,50,51,10,3,4,5,6,7,8,9,11,12,52,53]),import.meta.url);return{id:Ae,diagram:e}},"loader")},ke="gantt",er={id:ke,detector:i(e=>/^\s*gantt/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./ganttDiagram-JELNMOA3-Bj-STLOZ.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([54,1,2,55,56,57,5,58,59,60,3,4,6,7,8,9,10,11,12,13,14,15]),import.meta.url);return{id:ke,diagram:e}},"loader")},Re="info",tr={id:Re,detector:i(e=>/^\s*info/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./infoDiagram-HS3SLOUP-BDcw9LMK.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([61,35,36,13,14,37,38,39,15,40,41,42,43,2,44,45,46,47,48,49,50,51,10,3,4,5,11,9,62,63]),import.meta.url);return{id:Re,diagram:e}},"loader")},Ie="pie",rr={id:Ie,detector:i(e=>/^\s*pie/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./pieDiagram-ADFJNKIX-CqhovvcK.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([64,1,2,35,36,13,14,37,38,39,15,40,41,42,43,44,45,46,47,48,49,50,51,10,3,4,5,30,65,58,66,8,31,6,7,9,11,12,52,63]),import.meta.url);return{id:Ie,diagram:e}},"loader")},Pe="quadrantChart",ar={id:Pe,detector:i(e=>/^\s*quadrantChart/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./quadrantDiagram-AYHSOK5B-BNyiC3hL.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([67,55,56,57,5,2,58,3,4,11,9,10]),import.meta.url);return{id:Pe,diagram:e}},"loader")},Ve="xychart",ir={id:Ve,detector:i(e=>/^\s*xychart(-beta)?/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./xychartDiagram-PRI3JC2R-CmNNcgCM.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([68,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,55,56,57,58,69,65,29,30,31,63]),import.meta.url);return{id:Ve,diagram:e}},"loader")},Oe="requirement",nr={id:Oe,detector:i(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./requirementDiagram-UZGBJVZJ-U4CoEx7e.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([70,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,20,21,22,24,25,27,28,29,30,31,32]),import.meta.url);return{id:Oe,diagram:e}},"loader")},Me="sequence",or={id:Me,detector:i(e=>/^\s*sequenceDiagram/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./sequenceDiagram-WL72ISMW-CB8apKmu.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([71,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,26,53,16]),import.meta.url);return{id:Me,diagram:e}},"loader")},Se="class",sr={id:Se,detector:i((e,t)=>{var r;return((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(e)},"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./classDiagram-2ON5EDUG-CBbpzZPu.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([72,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,20,21,73,23,27,25,22,28,29,30,31,24,32]),import.meta.url);return{id:Se,diagram:e}},"loader")},Fe="classDiagram",dr={id:Fe,detector:i((e,t)=>{var r;return/^\s*classDiagram/.test(e)&&((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(e)},"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./classDiagram-v2-WZHVMYZB-B0cWCuuo.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([74,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,20,21,73,23,27,25,22,28,29,30,31,24,32]),import.meta.url);return{id:Fe,diagram:e}},"loader")},$e="state",lr={id:$e,detector:i((e,t)=>{var r;return((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(e)},"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./stateDiagram-FKZM4ZOC-3YqeHe0_.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([75,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,29,30,31,76,77,36,37,38,39,40,41,78,79,42,80,20,21,22,81,27,25,28,24,32]),import.meta.url);return{id:$e,diagram:e}},"loader")},ze="stateDiagram",cr={id:ze,detector:i((e,t)=>{var r;return!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./stateDiagram-v2-4FDKWEC3-Dfvjjqh4.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([82,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,20,21,22,81,27,25,28,29,30,31,24,32]),import.meta.url);return{id:ze,diagram:e}},"loader")},je="journey",mr={id:je,detector:i(e=>/^\s*journey/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./journeyDiagram-XKPGCS4Q-D29tj64e.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([83,1,2,3,4,5,66,30,8,11,9,10,23,16]),import.meta.url);return{id:je,diagram:e}},"loader")},qe={draw:i((e,t,r)=>{w.debug(`rendering svg for syntax error
3
+ `);let a=Fa(t),n=a.append("g");a.attr("viewBox","0 0 2412 512"),ka(a,100,512,!0),n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw")},ur=qe,gr={db:{},renderer:qe,parser:{parse:i(()=>{},"parse")}},Ce="flowchart-elk",pr={id:Ce,detector:i((e,t={})=>{var r;return/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="elk"?(t.layout="elk",!0):!1},"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./flowDiagram-NV44I4VS-LeaIbfPS.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([17,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,19,20,21,22,23,24,25,26,27,28,29,30,31,32]),import.meta.url);return{id:Ce,diagram:e}},"loader")},He="timeline",fr={id:He,detector:i(e=>/^\s*timeline/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./timeline-definition-IT6M3QCI-DZQqxPSn.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([84,3,2,4,5,66,30,8,11,9,10]),import.meta.url);return{id:He,diagram:e}},"loader")},Be="mindmap",yr={id:Be,detector:i(e=>/^\s*mindmap/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./mindmap-definition-VGOIOE7T-Cy9nt356.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([85,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,20,21,22,24,25,27,28,29,30,31,32]),import.meta.url);return{id:Be,diagram:e}},"loader")},Ge="kanban",hr={id:Ge,detector:i(e=>/^\s*kanban/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./kanban-definition-3W4ZIXB7-DStZ4tGj.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([86,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,21,22,63,23,25,26]),import.meta.url);return{id:Ge,diagram:e}},"loader")},Ne="sankey",_r={id:Ne,detector:i(e=>/^\s*sankey(-beta)?/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./sankeyDiagram-TZEHDZUN-BXgCc5j4.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([87,3,2,4,5,88,65,58,11,9,10]),import.meta.url);return{id:Ne,diagram:e}},"loader")},Ye="packet",wr={id:Ye,detector:i(e=>/^\s*packet(-beta)?/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./diagram-S2PKOQOG-cc2LNQee.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([89,1,2,35,36,13,14,37,38,39,15,40,41,42,43,44,45,46,47,48,49,50,51,10,3,4,5,6,7,8,9,11,12,52,63]),import.meta.url);return{id:Ye,diagram:e}},"loader")},Ue="radar",br={id:Ue,detector:i(e=>/^\s*radar-beta/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./diagram-QEK2KX5R-DhI0d2dH.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([90,1,2,35,36,13,14,37,38,39,15,40,41,42,43,44,45,46,47,48,49,50,51,10,3,4,5,6,7,8,9,11,12,52,63]),import.meta.url);return{id:Ue,diagram:e}},"loader")},We="block",Er={id:We,detector:i(e=>/^\s*block(-beta)?/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./blockDiagram-VD42YOAC-Dy-_c6-H.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([91,1,2,18,3,4,5,6,7,8,9,10,11,12,13,14,15,29,30,31,77,36,37,38,39,40,19,92,22,23,24]),import.meta.url);return{id:We,diagram:e}},"loader")},Je="architecture",xr={id:Je,detector:i(e=>/^\s*architecture/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./architectureDiagram-VXUJARFQ-JNogHSZh.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([93,1,2,35,36,13,14,37,38,39,15,40,41,42,43,18,3,4,5,6,7,8,9,10,11,12,44,45,46,47,48,49,50,51,94,52,63]),import.meta.url);return{id:Je,diagram:e}},"loader")},Qe="treemap",vr={id:Qe,detector:i(e=>/^\s*treemap/.test(e),"detector"),loader:i(async()=>{let{diagram:e}=await p(async()=>{let{diagram:t}=await import("./diagram-PSM6KHXK-B_Cc0ttH.js").then(async r=>(await r.__tla,r));return{diagram:t}},__vite__mapDeps([95,1,2,35,36,13,14,37,38,39,15,40,41,42,43,44,45,46,47,48,49,50,51,10,3,4,5,57,96,65,58,6,7,8,9,11,12,52,21,63,32]),import.meta.url);return{id:Qe,diagram:e}},"loader")},Xe=!1,X=i(()=>{Xe||(Xe=!0,ee("error",gr,e=>e.toLowerCase().trim()==="error"),ee("---",{db:{clear:i(()=>{},"clear")},styles:{},renderer:{draw:i(()=>{},"draw")},parser:{parse:i(()=>{throw Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:i(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),ue(pr,yr,xr),ue(Jt,hr,dr,sr,Zt,er,tr,rr,nr,or,Xt,Qt,fr,Kt,cr,lr,mr,ar,_r,wr,ir,Er,br,vr))},"addDiagrams"),Dr=i(async()=>{w.debug("Loading registered diagrams");let e=(await Promise.allSettled(Object.entries(ge).map(async([t,{detector:r,loader:a}])=>{if(a)try{pe(t)}catch{try{let{diagram:n,id:o}=await a();ee(o,n,r)}catch(n){throw w.error(`Failed to load external diagram with key ${t}. Removing from detectors.`),delete ge[t],n}}}))).filter(t=>t.status==="rejected");if(e.length>0){w.error(`Failed to load ${e.length} external diagrams`);for(let t of e)w.error(t);throw Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams"),Tr="graphics-document document";function Ze(e,t){e.attr("role",Tr),t!==""&&e.attr("aria-roledescription",t)}i(Ze,"setA11yDiagramInfo");function Ke(e,t,r,a){if(e.insert!==void 0){if(r){let n=`chart-desc-${a}`;e.attr("aria-describedby",n),e.insert("desc",":first-child").attr("id",n).text(r)}if(t){let n=`chart-title-${a}`;e.attr("aria-labelledby",n),e.insert("title",":first-child").attr("id",n).text(t)}}}i(Ke,"addSVGa11yTitleDescription");var oe=(F=class{constructor(t,r,a,n,o){this.type=t,this.text=r,this.db=a,this.parser=n,this.renderer=o}static async fromText(t,r={}){var g,f;let a=G(),n=At(t,a);t=xa(t)+`
4
+ `;try{pe(n)}catch{let l=Da(n);if(!l)throw new Ma(`Diagram ${n} not found.`);let{id:y,diagram:b}=await l();ee(y,b)}let{db:o,parser:s,renderer:c,init:d}=pe(n);return s.parser&&(s.parser.yy=o),(g=o.clear)==null||g.call(o),d==null||d(a),r.title&&((f=o.setDiagramTitle)==null||f.call(o,r.title)),await s.parse(t),new F(n,t,o,s,c)}async render(t,r){await this.renderer.draw(this.text,t,r,this)}getParser(){return this.parser}getType(){return this.type}},i(F,"Diagram"),F),et=[],Lr=i(()=>{et.forEach(e=>{e()}),et=[]},"attachFunctions"),Ar=i(e=>e.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function tt(e){let t=e.match(Ra);if(!t)return{text:e,metadata:{}};let r=$a(t[1],{schema:za})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};let a={};return r.displayMode&&(a.displayMode=r.displayMode.toString()),r.title&&(a.title=r.title.toString()),r.config&&(a.config=r.config),{text:e.slice(t[0].length),metadata:a}}i(tt,"extractFrontMatter");var kr=i(e=>e.replace(/\r\n?/g,`
5
+ `).replace(/<(\w+)([^>]*)>/g,(t,r,a)=>"<"+r+a.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),Rr=i(e=>{let{text:t,metadata:r}=tt(e),{displayMode:a,title:n,config:o={}}=r;return a&&(o.gantt||(o.gantt={}),o.gantt.displayMode=a),{title:n,config:o,text:t}},"processFrontmatter"),Ir=i(e=>{let t=B.detectInit(e)??{},r=B.detectDirective(e,"wrap");return Array.isArray(r)?t.wrap=r.some(({type:a})=>a==="wrap"):(r==null?void 0:r.type)==="wrap"&&(t.wrap=!0),{text:ba(e),directive:t}},"processDirectives");function se(e){let t=Rr(kr(e)),r=Ir(t.text),a=Ea(t.config,r.directive);return e=Ar(r.text),{code:e,title:t.title,config:a}}i(se,"preprocessDiagram");function rt(e){let t=new TextEncoder().encode(e),r=Array.from(t,a=>String.fromCodePoint(a)).join("");return btoa(r)}i(rt,"toBase64");var Pr=5e4,Vr="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",Or="sandbox",Mr="loose",Sr="http://www.w3.org/2000/svg",Fr="http://www.w3.org/1999/xlink",$r="http://www.w3.org/1999/xhtml",zr="100%",jr="100%",qr="border:0;margin:0;",Cr="margin:0",Hr="allow-top-navigation-by-user-activation allow-popups",Br='The "iframe" tag is not supported by your browser.',Gr=["foreignobject"],Nr=["dominant-baseline"];function de(e){let t=se(e);return K(),Pa(t.config??{}),t}i(de,"processAndSetConfigs");async function at(e,t){X();try{let{code:r,config:a}=de(e);return{diagramType:(await st(r)).type,config:a}}catch(r){if(t!=null&&t.suppressErrors)return!1;throw r}}i(at,"parse");var it=i((e,t,r=[])=>`
6
6
  .${e} ${t} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),Yr=i((e,t=new Map)=>{var a;let r="";if(e.themeCSS!==void 0&&(r+=`
7
7
  ${e.themeCSS}`),e.fontFamily!==void 0&&(r+=`
8
8
  :root { --mermaid-font-family: ${e.fontFamily}}`),e.altFontFamily!==void 0&&(r+=`
9
- :root { --mermaid-alt-font-family: ${e.altFontFamily}}`),t instanceof Map){let n=e.htmlLabels??((a=e.flowchart)==null?void 0:a.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];t.forEach(o=>{Dt(o.styles)||n.forEach(s=>{r+=it(o.id,s,o.styles)}),Dt(o.textStyles)||(r+=it(o.id,"tspan",((o==null?void 0:o.textStyles)||[]).map(s=>s.replace("color","fill"))))})}return r},"createCssStyles"),Ur=i((e,t,r,a)=>ne(Nt(`${a}{${Oa(t,Yr(e,r),e.themeVariables)}}`),Ut),"createUserStyles"),Wr=i((e="",t,r)=>{let a=e;return!r&&!t&&(a=a.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),a=_a(a),a=a.replace(/<br>/g,"<br/>"),a},"cleanUpSvgCode"),Jr=i((e="",t)=>{var r,a;return`<iframe style="width:${zr};height:${(a=(r=t==null?void 0:t.viewBox)==null?void 0:r.baseVal)!=null&&a.height?t.viewBox.baseVal.height+"px":jr};${qr}" src="data:text/html;charset=UTF-8;base64,${rt(`<body style="${Cr}">${e}</body>`)}" sandbox="${Hr}">
9
+ :root { --mermaid-alt-font-family: ${e.altFontFamily}}`),t instanceof Map){let n=e.htmlLabels??((a=e.flowchart)==null?void 0:a.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];t.forEach(o=>{vt(o.styles)||n.forEach(s=>{r+=it(o.id,s,o.styles)}),vt(o.textStyles)||(r+=it(o.id,"tspan",((o==null?void 0:o.textStyles)||[]).map(s=>s.replace("color","fill"))))})}return r},"createCssStyles"),Ur=i((e,t,r,a)=>ne(Nt(`${a}{${Va(t,Yr(e,r),e.themeVariables)}}`),Ut),"createUserStyles"),Wr=i((e="",t,r)=>{let a=e;return!r&&!t&&(a=a.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),a=wa(a),a=a.replace(/<br>/g,"<br/>"),a},"cleanUpSvgCode"),Jr=i((e="",t)=>{var r,a;return`<iframe style="width:${zr};height:${(a=(r=t==null?void 0:t.viewBox)==null?void 0:r.baseVal)!=null&&a.height?t.viewBox.baseVal.height+"px":jr};${qr}" src="data:text/html;charset=UTF-8;base64,${rt(`<body style="${Cr}">${e}</body>`)}" sandbox="${Hr}">
10
10
  ${Br}
11
- </iframe>`},"putIntoIFrame"),nt=i((e,t,r,a,n)=>{let o=e.append("div");o.attr("id",r),a&&o.attr("style",a);let s=o.append("svg").attr("id",t).attr("width","100%").attr("xmlns",Sr);return n&&s.attr("xmlns:xlink",n),s.append("g"),e},"appendDivSvgG");function le(e,t){return e.append("iframe").attr("id",t).attr("style","width: 100%; height: 100%;").attr("sandbox","")}i(le,"sandboxedIframe");var Qr=i((e,t,r,a)=>{var n,o,s;(n=e.getElementById(t))==null||n.remove(),(o=e.getElementById(r))==null||o.remove(),(s=e.getElementById(a))==null||s.remove()},"removeExistingElements"),Xr=i(async function(e,t,r){var yt,ht,wt,_t,bt,Et;X();let a=de(t);t=a.code;let n=G();_.debug(n),t.length>((n==null?void 0:n.maxTextSize)??Pr)&&(t=Or);let o="#"+e,s="i"+e,c="#"+s,d="d"+e,u="#"+d,p=i(()=>{let I=V(f?c:u).node();I&&"remove"in I&&I.remove()},"removeTempElements"),l=V("body"),f=n.securityLevel===Mr,b=n.securityLevel===Vr,T=n.fontFamily;r===void 0?(Qr(document,e,d,s),f?(l=V(le(V("body"),s).nodes()[0].contentDocument.body),l.node().style.margin=0):l=V("body"),nt(l,e,d)):(r&&(r.innerHTML=""),f?(l=V(le(V(r),s).nodes()[0].contentDocument.body),l.node().style.margin=0):l=V(r),nt(l,e,d,`font-family: ${T}`,Fr));let y,P;try{y=await oe.fromText(t,{title:a.title})}catch(I){if(n.suppressErrorRendering)throw p(),I;y=await oe.fromText("error"),P=I}let L=l.select(u).node(),w=y.type,A=L.firstChild,O=A.firstChild,R=(ht=(yt=y.renderer).getClasses)==null?void 0:ht.call(yt,t,y),D=Ur(n,w,R,o),m=document.createElement("style");m.innerHTML=D,A.insertBefore(m,O);try{await y.renderer.draw(t,e,Tt.version,y)}catch(I){throw n.suppressErrorRendering?p():ur.draw(t,e,Tt.version),I}let da=l.select(`${u} svg`),la=(_t=(wt=y.db).getAccTitle)==null?void 0:_t.call(wt),ca=(Et=(bt=y.db).getAccDescription)==null?void 0:Et.call(bt);dt(w,da,la,ca),l.select(`[id="${e}"]`).selectAll("foreignobject > *").attr("xmlns",$r);let $=l.select(u).node().innerHTML;if(_.debug("config.arrowMarkerAbsolute",n.arrowMarkerAbsolute),$=Wr($,f,Ia(n.arrowMarkerAbsolute)),f){let I=l.select(u+" svg").node();$=Jr($,I)}else b||($=ya.sanitize($,{ADD_TAGS:Gr,ADD_ATTR:Nr,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(Lr(),P)throw P;return p(),{diagramType:w,svg:$,bindFunctions:y.db.bindFunctions}},"render");function ot(e={}){var r;let t=Ma({},e);t!=null&&t.fontFamily&&!((r=t.themeVariables)!=null&&r.fontFamily)&&(t.themeVariables||(t.themeVariables={}),t.themeVariables.fontFamily=t.fontFamily),Da(t),t!=null&&t.theme&&t.theme in me?t.themeVariables=me[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=me.default.getThemeVariables(t.themeVariables)),Lt((typeof t=="object"?La(t):Rt()).logLevel),X()}i(ot,"initialize");var st=i((e,t={})=>{let{code:r}=se(e);return oe.fromText(r,t)},"getDiagramFromText");function dt(e,t,r,a){Ze(t,e),Ke(t,r,a,t.attr("id"))}i(dt,"addA11yInfo");var S=Object.freeze({render:Xr,parse:at,getDiagramFromText:st,initialize:ot,getConfig:G,setConfig:Ta,getSiteConfig:Rt,updateSiteConfig:Aa,reset:i(()=>{K()},"reset"),globalReset:i(()=>{K(kt)},"globalReset"),defaultConfig:kt});Lt(G().logLevel),K(G());var Zr=i((e,t,r)=>{_.warn(e),vt(e)?(r&&r(e.str,e.hash),t.push({...e,message:e.str,error:e})):(r&&r(e),e instanceof Error&&t.push({str:e.message,message:e.message,hash:e.name,error:e}))},"handleError"),lt=i(async function(e={querySelector:".mermaid"}){try{await Kr(e)}catch(t){if(vt(t)&&_.error(t.str),E.parseError&&E.parseError(t),!e.suppressErrors)throw _.error("Use the suppressErrors option to suppress these errors"),t}},"run"),Kr=i(async function({postRenderCallback:e,querySelector:t,nodes:r}={querySelector:".mermaid"}){let a=S.getConfig();_.debug(`${e?"":"No "}Callback function found`);let n;if(r)n=r;else if(t)n=document.querySelectorAll(t);else throw Error("Nodes and querySelector are both undefined");_.debug(`Found ${n.length} diagrams`),(a==null?void 0:a.startOnLoad)!==void 0&&(_.debug("Start On Load: "+(a==null?void 0:a.startOnLoad)),S.updateSiteConfig({startOnLoad:a==null?void 0:a.startOnLoad}));let o=new B.InitIDGenerator(a.deterministicIds,a.deterministicIDSeed),s,c=[];for(let d of Array.from(n)){if(_.info("Rendering diagram: "+d.id),d.getAttribute("data-processed"))continue;d.setAttribute("data-processed","true");let u=`mermaid-${o.next()}`;s=d.innerHTML,s=qa(B.entityDecode(s)).trim().replace(/<br\s*\/?>/gi,"<br/>");let p=B.detectInit(s);p&&_.debug("Detected early reinit: ",p);try{let{svg:l,bindFunctions:f}=await gt(u,s,d);d.innerHTML=l,e&&await e(u),f&&f(d)}catch(l){Zr(l,c,E.parseError)}}if(c.length>0)throw c[0]},"runThrowsErrors"),ct=i(function(e){S.initialize(e)},"initialize"),ea=i(async function(e,t,r){_.warn("mermaid.init is deprecated. Please use run instead."),e&&ct(e);let a={postRenderCallback:r,querySelector:".mermaid"};typeof t=="string"?a.querySelector=t:t&&(t instanceof HTMLElement?a.nodes=[t]:a.nodes=t),await lt(a)},"init"),ta=i(async(e,{lazyLoad:t=!0}={})=>{X(),ue(...e),t===!1&&await vr()},"registerExternalDiagrams"),mt=i(function(){if(E.startOnLoad){let{startOnLoad:e}=S.getConfig();e&&E.run().catch(t=>_.error("Mermaid failed to initialize",t))}},"contentLoaded");typeof document<"u"&&window.addEventListener("load",mt,!1);var ra=i(function(e){E.parseError=e},"setParseErrorHandler"),Z=[],ce=!1,ut=i(async()=>{if(!ce){for(ce=!0;Z.length>0;){let e=Z.shift();if(e)try{await e()}catch(t){_.error("Error executing queue",t)}}ce=!1}},"executeQueue"),aa=i(async(e,t)=>new Promise((r,a)=>{let n=i(()=>new Promise((o,s)=>{S.parse(e,t).then(c=>{o(c),r(c)},c=>{var d;_.error("Error parsing",c),(d=E.parseError)==null||d.call(E,c),s(c),a(c)})}),"performCall");Z.push(n),ut().catch(a)}),"parse"),gt=i((e,t,r)=>new Promise((a,n)=>{let o=i(()=>new Promise((s,c)=>{S.render(e,t,r).then(d=>{s(d),a(d)},d=>{var u;_.error("Error parsing",d),(u=E.parseError)==null||u.call(E,d),c(d),n(d)})}),"performCall");Z.push(o),ut().catch(n)}),"render"),E={startOnLoad:!0,mermaidAPI:S,parse:aa,render:gt,init:ea,run:lt,registerExternalDiagrams:ta,registerLayoutLoaders:Ca,initialize:ct,parseError:void 0,contentLoaded:mt,setParseErrorHandler:ra,detectType:At,registerIconPacks:ja,getRegisteredDiagramsMetadata:i(()=>Object.keys(ge).map(e=>({id:e})),"getRegisteredDiagramsMetadata")},pt=E,ia=xt(ma(),1),ft=xt(pa(),1),na={startOnLoad:!0,theme:"forest",logLevel:"fatal",securityLevel:"strict",fontFamily:"var(--text-font)",arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!0,curve:"linear"},sequence:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d"}};function oa(){return Array.from({length:6},()=>"abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)]).join("")}It=e=>{let t=(0,Wt.c)(13),{diagram:r}=e,[a]=(0,ia.useState)(sa),n=fa().theme==="dark";pt.initialize({...na,theme:n?"dark":"forest",darkMode:n});let o;t[0]===r?o=t[1]:(o=r.trim(),t[0]=r,t[1]=o);let s=o,c;t[2]!==a||t[3]!==s?(c=async()=>(await pt.render(a,s,void 0).catch(f=>{var b;throw(b=document.getElementById(a))==null||b.remove(),ga.warn("Failed to render mermaid diagram",f),f})).svg,t[2]=a,t[3]=s,t[4]=c):c=t[4];let d;t[5]!==n||t[6]!==a||t[7]!==s?(d=[s,a,n],t[5]=n,t[6]=a,t[7]=s,t[8]=d):d=t[8];let{data:u,error:p}=wa(c,d);if(p){let f;return t[9]===p?f=t[10]:(f=(0,ft.jsx)(ha,{error:p}),t[9]=p,t[10]=f),f}if(!u)return null;let l;return t[11]===u?l=t[12]:(l=(0,ft.jsx)("div",{dangerouslySetInnerHTML:{__html:u}}),t[11]=u,t[12]=l),l};function sa(){return oa()}});export{Ba as __tla,It as default};
11
+ </iframe>`},"putIntoIFrame"),nt=i((e,t,r,a,n)=>{let o=e.append("div");o.attr("id",r),a&&o.attr("style",a);let s=o.append("svg").attr("id",t).attr("width","100%").attr("xmlns",Sr);return n&&s.attr("xmlns:xlink",n),s.append("g"),e},"appendDivSvgG");function le(e,t){return e.append("iframe").attr("id",t).attr("style","width: 100%; height: 100%;").attr("sandbox","")}i(le,"sandboxedIframe");var Qr=i((e,t,r,a)=>{var n,o,s;(n=e.getElementById(t))==null||n.remove(),(o=e.getElementById(r))==null||o.remove(),(s=e.getElementById(a))==null||s.remove()},"removeExistingElements"),Xr=i(async function(e,t,r){var yt,ht,_t,wt,bt,Et;X();let a=de(t);t=a.code;let n=G();w.debug(n),t.length>((n==null?void 0:n.maxTextSize)??Pr)&&(t=Vr);let o="#"+e,s="i"+e,c="#"+s,d="d"+e,g="#"+d,f=i(()=>{let P=M(y?c:g).node();P&&"remove"in P&&P.remove()},"removeTempElements"),l=M("body"),y=n.securityLevel===Or,b=n.securityLevel===Mr,E=n.fontFamily;r===void 0?(Qr(document,e,d,s),y?(l=M(le(M("body"),s).nodes()[0].contentDocument.body),l.node().style.margin=0):l=M("body"),nt(l,e,d)):(r&&(r.innerHTML=""),y?(l=M(le(M(r),s).nodes()[0].contentDocument.body),l.node().style.margin=0):l=M(r),nt(l,e,d,`font-family: ${E}`,Fr));let m,D;try{m=await oe.fromText(t,{title:a.title})}catch(P){if(n.suppressErrorRendering)throw f(),P;m=await oe.fromText("error"),D=P}let A=l.select(g).node(),_=m.type,k=A.firstChild,V=k.firstChild,I=(ht=(yt=m.renderer).getClasses)==null?void 0:ht.call(yt,t,m),T=Ur(n,_,I,o),u=document.createElement("style");u.innerHTML=T,k.insertBefore(u,V);try{await m.renderer.draw(t,e,Tt.version,m)}catch(P){throw n.suppressErrorRendering?f():ur.draw(t,e,Tt.version),P}let da=l.select(`${g} svg`),la=(wt=(_t=m.db).getAccTitle)==null?void 0:wt.call(_t),ca=(Et=(bt=m.db).getAccDescription)==null?void 0:Et.call(bt);dt(_,da,la,ca),l.select(`[id="${e}"]`).selectAll("foreignobject > *").attr("xmlns",$r);let $=l.select(g).node().innerHTML;if(w.debug("config.arrowMarkerAbsolute",n.arrowMarkerAbsolute),$=Wr($,y,Ia(n.arrowMarkerAbsolute)),y){let P=l.select(g+" svg").node();$=Jr($,P)}else b||($=ya.sanitize($,{ADD_TAGS:Gr,ADD_ATTR:Nr,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(Lr(),D)throw D;return f(),{diagramType:_,svg:$,bindFunctions:m.db.bindFunctions}},"render");function ot(e={}){var r;let t=Oa({},e);t!=null&&t.fontFamily&&!((r=t.themeVariables)!=null&&r.fontFamily)&&(t.themeVariables||(t.themeVariables={}),t.themeVariables.fontFamily=t.fontFamily),va(t),t!=null&&t.theme&&t.theme in me?t.themeVariables=me[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=me.default.getThemeVariables(t.themeVariables)),Lt((typeof t=="object"?La(t):Rt()).logLevel),X()}i(ot,"initialize");var st=i((e,t={})=>{let{code:r}=se(e);return oe.fromText(r,t)},"getDiagramFromText");function dt(e,t,r,a){Ze(t,e),Ke(t,r,a,t.attr("id"))}i(dt,"addA11yInfo");var S=Object.freeze({render:Xr,parse:at,getDiagramFromText:st,initialize:ot,getConfig:G,setConfig:Ta,getSiteConfig:Rt,updateSiteConfig:Aa,reset:i(()=>{K()},"reset"),globalReset:i(()=>{K(kt)},"globalReset"),defaultConfig:kt});Lt(G().logLevel),K(G());var Zr=i((e,t,r)=>{w.warn(e),Dt(e)?(r&&r(e.str,e.hash),t.push({...e,message:e.str,error:e})):(r&&r(e),e instanceof Error&&t.push({str:e.message,message:e.message,hash:e.name,error:e}))},"handleError"),lt=i(async function(e={querySelector:".mermaid"}){try{await Kr(e)}catch(t){if(Dt(t)&&w.error(t.str),x.parseError&&x.parseError(t),!e.suppressErrors)throw w.error("Use the suppressErrors option to suppress these errors"),t}},"run"),Kr=i(async function({postRenderCallback:e,querySelector:t,nodes:r}={querySelector:".mermaid"}){let a=S.getConfig();w.debug(`${e?"":"No "}Callback function found`);let n;if(r)n=r;else if(t)n=document.querySelectorAll(t);else throw Error("Nodes and querySelector are both undefined");w.debug(`Found ${n.length} diagrams`),(a==null?void 0:a.startOnLoad)!==void 0&&(w.debug("Start On Load: "+(a==null?void 0:a.startOnLoad)),S.updateSiteConfig({startOnLoad:a==null?void 0:a.startOnLoad}));let o=new B.InitIDGenerator(a.deterministicIds,a.deterministicIDSeed),s,c=[];for(let d of Array.from(n)){if(w.info("Rendering diagram: "+d.id),d.getAttribute("data-processed"))continue;d.setAttribute("data-processed","true");let g=`mermaid-${o.next()}`;s=d.innerHTML,s=qa(B.entityDecode(s)).trim().replace(/<br\s*\/?>/gi,"<br/>");let f=B.detectInit(s);f&&w.debug("Detected early reinit: ",f);try{let{svg:l,bindFunctions:y}=await gt(g,s,d);d.innerHTML=l,e&&await e(g),y&&y(d)}catch(l){Zr(l,c,x.parseError)}}if(c.length>0)throw c[0]},"runThrowsErrors"),ct=i(function(e){S.initialize(e)},"initialize"),ea=i(async function(e,t,r){w.warn("mermaid.init is deprecated. Please use run instead."),e&&ct(e);let a={postRenderCallback:r,querySelector:".mermaid"};typeof t=="string"?a.querySelector=t:t&&(t instanceof HTMLElement?a.nodes=[t]:a.nodes=t),await lt(a)},"init"),ta=i(async(e,{lazyLoad:t=!0}={})=>{X(),ue(...e),t===!1&&await Dr()},"registerExternalDiagrams"),mt=i(function(){if(x.startOnLoad){let{startOnLoad:e}=S.getConfig();e&&x.run().catch(t=>w.error("Mermaid failed to initialize",t))}},"contentLoaded");typeof document<"u"&&window.addEventListener("load",mt,!1);var ra=i(function(e){x.parseError=e},"setParseErrorHandler"),Z=[],ce=!1,ut=i(async()=>{if(!ce){for(ce=!0;Z.length>0;){let e=Z.shift();if(e)try{await e()}catch(t){w.error("Error executing queue",t)}}ce=!1}},"executeQueue"),aa=i(async(e,t)=>new Promise((r,a)=>{let n=i(()=>new Promise((o,s)=>{S.parse(e,t).then(c=>{o(c),r(c)},c=>{var d;w.error("Error parsing",c),(d=x.parseError)==null||d.call(x,c),s(c),a(c)})}),"performCall");Z.push(n),ut().catch(a)}),"parse"),gt=i((e,t,r)=>new Promise((a,n)=>{let o=i(()=>new Promise((s,c)=>{S.render(e,t,r).then(d=>{s(d),a(d)},d=>{var g;w.error("Error parsing",d),(g=x.parseError)==null||g.call(x,d),c(d),n(d)})}),"performCall");Z.push(o),ut().catch(n)}),"render"),x={startOnLoad:!0,mermaidAPI:S,parse:aa,render:gt,init:ea,run:lt,registerExternalDiagrams:ta,registerLayoutLoaders:Ca,initialize:ct,parseError:void 0,contentLoaded:mt,setParseErrorHandler:ra,detectType:At,registerIconPacks:ja,getRegisteredDiagramsMetadata:i(()=>Object.keys(ge).map(e=>({id:e})),"getRegisteredDiagramsMetadata")},pt=x,ia=xt(ma(),1),ft=xt(pa(),1),na={startOnLoad:!0,theme:"forest",logLevel:"fatal",securityLevel:"strict",fontFamily:"var(--text-font)",arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!0,curve:"linear"},sequence:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d"}};function oa(){return Array.from({length:6},()=>"abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)]).join("")}It=e=>{let t=(0,Wt.c)(15),{diagram:r,theme:a,themeVariables:n}=e,[o]=(0,ia.useState)(sa),s=fa().theme==="dark",c=a??(s?"dark":"forest");pt.initialize({...na,theme:c,themeVariables:n,darkMode:s});let d;t[0]===r?d=t[1]:(d=r.trim(),t[0]=r,t[1]=d);let g=d,f;t[2]!==o||t[3]!==g?(f=async()=>(await pt.render(o,g,void 0).catch(m=>{var D;throw(D=document.getElementById(o))==null||D.remove(),ga.warn("Failed to render mermaid diagram",m),m})).svg,t[2]=o,t[3]=g,t[4]=f):f=t[4];let l;t[5]!==s||t[6]!==o||t[7]!==c||t[8]!==n||t[9]!==g?(l=[g,o,s,c,n],t[5]=s,t[6]=o,t[7]=c,t[8]=n,t[9]=g,t[10]=l):l=t[10];let{data:y,error:b}=_a(f,l);if(b){let m;return t[11]===b?m=t[12]:(m=(0,ft.jsx)(ha,{error:b}),t[11]=b,t[12]=m),m}if(!y)return null;let E;return t[13]===y?E=t[14]:(E=(0,ft.jsx)("div",{dangerouslySetInnerHTML:{__html:y}}),t[13]=y,t[14]=E),E};function sa(){return oa()}});export{Ba as __tla,It as default};
package/dist/index.html CHANGED
@@ -66,7 +66,7 @@
66
66
  <marimo-server-token data-token="{{ server_token }}" hidden></marimo-server-token>
67
67
  <!-- /TODO -->
68
68
  <title>{{ title }}</title>
69
- <script type="module" crossorigin src="./assets/index-g2qQV71h.js"></script>
69
+ <script type="module" crossorigin src="./assets/index-BdJiG5M1.js"></script>
70
70
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-DItdS47A.js">
71
71
  <link rel="modulepreload" crossorigin href="./assets/chunk-LvLJmgfZ.js">
72
72
  <link rel="modulepreload" crossorigin href="./assets/react-Bj1aDYRI.js">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marimo-team/frontend",
3
- "version": "0.23.7-dev2",
3
+ "version": "0.23.7-dev3",
4
4
  "main": "dist/main.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
@@ -145,6 +145,14 @@ describe("sanitizeHtml", () => {
145
145
  );
146
146
  });
147
147
 
148
+ test("preserves marimo-mermaid with theme attributes", () => {
149
+ const html =
150
+ "<marimo-mermaid data-diagram='&quot;graph TD\\nA --&gt; B&quot;' data-theme='&quot;base&quot;' data-theme_variables='{&quot;primaryColor&quot;: &quot;#E8EEF5&quot;, &quot;lineColor&quot;: &quot;#475569&quot;}'></marimo-mermaid>";
151
+ expect(sanitizeHtml(html)).toMatchInlineSnapshot(
152
+ `"<marimo-mermaid data-diagram="&quot;graph TD\\nA --> B&quot;" data-theme="&quot;base&quot;" data-theme_variables="{&quot;primaryColor&quot;: &quot;#E8EEF5&quot;, &quot;lineColor&quot;: &quot;#475569&quot;}"></marimo-mermaid>"`,
153
+ );
154
+ });
155
+
148
156
  test("keeps style tags with FORCE_BODY", () => {
149
157
  const html = "<style>body { color: red; }</style><p>Text</p>";
150
158
  expect(sanitizeHtml(html)).toMatchInlineSnapshot(
@@ -0,0 +1,50 @@
1
+ /* Copyright 2026 Marimo. All rights reserved. */
2
+
3
+ import { describe, expect, test } from "vitest";
4
+ import { MermaidPlugin } from "../mermaid/MermaidPlugin";
5
+
6
+ describe("MermaidPlugin validator", () => {
7
+ test("accepts optional theme and theme_variables", () => {
8
+ const plugin = new MermaidPlugin();
9
+ const result = plugin.validator.safeParse({
10
+ diagram: "graph TD\nA --> B",
11
+ theme: "base",
12
+ theme_variables: {
13
+ primaryColor: "#E8EEF5",
14
+ lineColor: "#475569",
15
+ },
16
+ });
17
+
18
+ expect(result.success).toBe(true);
19
+ if (!result.success) {
20
+ return;
21
+ }
22
+
23
+ expect(result.data).toEqual({
24
+ diagram: "graph TD\nA --> B",
25
+ theme: "base",
26
+ theme_variables: {
27
+ primaryColor: "#E8EEF5",
28
+ lineColor: "#475569",
29
+ },
30
+ });
31
+ });
32
+
33
+ test("accepts any string as theme", () => {
34
+ const plugin = new MermaidPlugin();
35
+ const result = plugin.validator.safeParse({
36
+ diagram: "graph TD\nA --> B",
37
+ theme: "invalid",
38
+ });
39
+
40
+ expect(result.success).toBe(true);
41
+ if (!result.success) {
42
+ return;
43
+ }
44
+
45
+ expect(result.data).toEqual({
46
+ diagram: "graph TD\nA --> B",
47
+ theme: "invalid",
48
+ });
49
+ });
50
+ });
@@ -9,6 +9,8 @@ import type {
9
9
 
10
10
  interface Data {
11
11
  diagram: string;
12
+ theme?: string;
13
+ theme_variables?: Record<string, string>;
12
14
  }
13
15
 
14
16
  export class MermaidPlugin implements IStatelessPlugin<Data> {
@@ -16,10 +18,18 @@ export class MermaidPlugin implements IStatelessPlugin<Data> {
16
18
 
17
19
  validator = z.object({
18
20
  diagram: z.string(),
21
+ theme: z.string().optional(),
22
+ theme_variables: z.record(z.string(), z.string()).optional(),
19
23
  });
20
24
 
21
25
  render(props: IStatelessPluginProps<Data>): JSX.Element {
22
- return <LazyMermaid diagram={props.data.diagram} />;
26
+ return (
27
+ <LazyMermaid
28
+ diagram={props.data.diagram}
29
+ theme={props.data.theme}
30
+ themeVariables={props.data.theme_variables}
31
+ />
32
+ );
23
33
  }
24
34
  }
25
35
 
@@ -10,6 +10,8 @@ import { Logger } from "@/utils/Logger";
10
10
 
11
11
  interface Props {
12
12
  diagram: string;
13
+ theme?: string;
14
+ themeVariables?: Record<string, string>;
13
15
  config?: MermaidConfig;
14
16
  }
15
17
 
@@ -62,14 +64,16 @@ function randomAlpha() {
62
64
  ).join("");
63
65
  }
64
66
 
65
- const Mermaid: React.FC<Props> = ({ diagram }) => {
67
+ const Mermaid: React.FC<Props> = ({ diagram, theme, themeVariables }) => {
66
68
  // oxlint-disable-next-line react/hook-use-state
67
69
  const [id] = useState(() => randomAlpha());
68
70
 
69
71
  const darkMode = useTheme().theme === "dark";
72
+ const resolvedTheme = theme ?? (darkMode ? "dark" : "forest");
70
73
  mermaid.initialize({
71
74
  ...DEFAULT_CONFIG,
72
- theme: darkMode ? "dark" : "forest",
75
+ theme: resolvedTheme as MermaidConfig["theme"],
76
+ themeVariables,
73
77
  darkMode: darkMode,
74
78
  });
75
79
 
@@ -86,7 +90,7 @@ const Mermaid: React.FC<Props> = ({ diagram }) => {
86
90
  });
87
91
 
88
92
  return result.svg;
89
- }, [trimmedDiagram, id, darkMode]);
93
+ }, [trimmedDiagram, id, darkMode, resolvedTheme, themeVariables]);
90
94
 
91
95
  if (error) {
92
96
  return <ErrorBanner error={error} />;