agentic-mermaid 0.2.0 → 0.3.1

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 (73) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/agent-core.d.ts +8 -3
  3. package/dist/agent-core.js +2 -2
  4. package/dist/agent.d.ts +2 -2
  5. package/dist/agent.js +4 -4
  6. package/dist/agentic-mermaid-mcp.js +5 -5
  7. package/dist/am.js +6 -6
  8. package/dist/browser-lazy/chunks/architecture-3CGEU363.js +31 -0
  9. package/dist/browser-lazy/chunks/chunk-2U4EUPSI.js +4 -0
  10. package/dist/browser-lazy/chunks/chunk-4IUBLBJJ.js +11 -0
  11. package/dist/browser-lazy/chunks/chunk-4U2TVB2S.js +1 -0
  12. package/dist/browser-lazy/chunks/chunk-5Q4S74UO.js +1 -0
  13. package/dist/browser-lazy/chunks/chunk-6UT2VTFI.js +1 -0
  14. package/dist/browser-lazy/chunks/chunk-7D24ZLOV.js +1 -0
  15. package/dist/browser-lazy/chunks/chunk-A7L4WWVW.js +143 -0
  16. package/dist/browser-lazy/chunks/chunk-CTVVJPMX.js +24 -0
  17. package/dist/browser-lazy/chunks/chunk-DPSSG7LR.js +4 -0
  18. package/dist/browser-lazy/chunks/chunk-EPFMQPXX.js +1 -0
  19. package/dist/browser-lazy/chunks/chunk-FFOHLPDA.js +2 -0
  20. package/dist/browser-lazy/chunks/chunk-FLD63DXE.js +2 -0
  21. package/dist/browser-lazy/chunks/chunk-FXBBGAMJ.js +46 -0
  22. package/dist/browser-lazy/chunks/chunk-GRXCKTHX.js +0 -0
  23. package/dist/browser-lazy/chunks/chunk-HZ4ADQMK.js +1 -0
  24. package/dist/browser-lazy/chunks/chunk-I6VE56S7.js +1 -0
  25. package/dist/browser-lazy/chunks/chunk-JX5ZZY3T.js +1 -0
  26. package/dist/browser-lazy/chunks/chunk-KJVNXJ5Y.js +1 -0
  27. package/dist/browser-lazy/chunks/chunk-KTTWXSIX.js +1 -0
  28. package/dist/browser-lazy/chunks/chunk-M6BT2HIP.js +1 -0
  29. package/dist/browser-lazy/chunks/chunk-MMWVZP6M.js +1 -0
  30. package/dist/browser-lazy/chunks/chunk-OFRMKQA6.js +1 -0
  31. package/dist/browser-lazy/chunks/chunk-P7HMSKHJ.js +1 -0
  32. package/dist/browser-lazy/chunks/chunk-PXRUFH7U.js +1 -0
  33. package/dist/browser-lazy/chunks/chunk-PZEWZT35.js +1 -0
  34. package/dist/browser-lazy/chunks/chunk-RVO6J7S3.js +1 -0
  35. package/dist/browser-lazy/chunks/chunk-STQRDZ67.js +1 -0
  36. package/dist/browser-lazy/chunks/chunk-T7IJ6V4B.js +3 -0
  37. package/dist/browser-lazy/chunks/chunk-VDTSULBU.js +7 -0
  38. package/dist/browser-lazy/chunks/chunk-WEUWIFG3.js +1 -0
  39. package/dist/browser-lazy/chunks/class-B3AVLSIF.js +9 -0
  40. package/dist/browser-lazy/chunks/er-AF4BKKKC.js +9 -0
  41. package/dist/browser-lazy/chunks/flowchart-BE6BQZLZ.js +4 -0
  42. package/dist/browser-lazy/chunks/gantt-U4BMMSEL.js +28 -0
  43. package/dist/browser-lazy/chunks/gitgraph-UPSWNFRP.js +8 -0
  44. package/dist/browser-lazy/chunks/journey-PDZ7FDJR.js +40 -0
  45. package/dist/browser-lazy/chunks/mindmap-BFEUURLS.js +9 -0
  46. package/dist/browser-lazy/chunks/pie-ZFYW5JZO.js +19 -0
  47. package/dist/browser-lazy/chunks/quadrant-XJVEYYXK.js +24 -0
  48. package/dist/browser-lazy/chunks/radar-OVXFNRNC.js +32 -0
  49. package/dist/browser-lazy/chunks/render-core-R4ZGGEFS.js +12 -0
  50. package/dist/browser-lazy/chunks/sequence-AWY6JCSB.js +12 -0
  51. package/dist/browser-lazy/chunks/state-TCE4DXKR.js +4 -0
  52. package/dist/browser-lazy/chunks/timeline-W4ZVT3FF.js +20 -0
  53. package/dist/browser-lazy/chunks/xychart-K3QQACKS.js +36 -0
  54. package/dist/browser-lazy/index.d.ts +1012 -0
  55. package/dist/browser-lazy/index.js +1 -0
  56. package/dist/browser.global.js +778 -0
  57. package/dist/{chunk-MYPDVZCO.js → chunk-BSVM3VMO.js} +18 -5
  58. package/dist/{chunk-2P5FKUQC.js → chunk-FGO3J7RA.js} +7 -7
  59. package/dist/{chunk-2SILJDW2.js → chunk-JJ7JRYZV.js} +2 -2
  60. package/dist/{chunk-2S3VSS6I.js → chunk-KQMJ37OY.js} +4 -4
  61. package/dist/{chunk-FDM43XU7.js → chunk-MBIR6S3B.js} +2 -2
  62. package/dist/{chunk-BJYMBT4I.js → chunk-XVY324NY.js} +47701 -47630
  63. package/dist/{index-DWPa2MJs.d.ts → index-Do8z5rPq.d.ts} +5409 -5391
  64. package/dist/index.d.ts +1 -1
  65. package/dist/index.js +1 -1
  66. package/dist/mcp-cli-7FLGTEG3.js +17 -0
  67. package/docs/README.md +1 -0
  68. package/docs/browser.md +491 -0
  69. package/docs/fork-differences.md +33 -0
  70. package/docs/style-authoring.md +1 -1
  71. package/package.json +19 -5
  72. package/server.json +2 -2
  73. package/dist/mcp-cli-5J47WEY3.js +0 -17
@@ -0,0 +1 @@
1
+ import{a as $,b as X}from"./chunk-CTVVJPMX.js";import{d as D}from"./chunk-A7L4WWVW.js";import{a as I,b as Y,c as T,d as O,e as F,j as E,k as W}from"./chunk-RVO6J7S3.js";import{i as R}from"./chunk-FXBBGAMJ.js";var f={padding:40,boxPadX:8,headerBaseHeight:32,annotationHeight:16,memberRowHeight:20,sectionPadY:8,emptySectionHeight:8,minWidth:120,memberFontSize:11,memberFontWeight:400,nodeSpacing:40,layerSpacing:60},A={nodeLabelFontSize:T.nodeLabel,edgeLabelFontSize:T.edgeLabel,groupHeaderFontSize:T.groupHeader,nodeLabelFontWeight:700,edgeLabelFontWeight:O.edgeLabel,groupHeaderFontWeight:O.groupHeader,nodePaddingX:f.boxPadX,nodePaddingY:f.sectionPadY,nodeCornerRadius:0,nodeLineWidth:F.outerBox,edgeLineWidth:F.connector,groupCornerRadius:0,groupPaddingX:f.boxPadX,groupPaddingY:f.sectionPadY,groupLineWidth:F.outerBox};function oe(o,t){if(!o)return t;let u=v(o,"class","nodeSpacing"),s=v(o,"class","rankSpacing"),x=D(o,["class","hierarchicalNamespaces"]),b=t.class?.hierarchicalNamespaces??(typeof x=="boolean"?x:void 0);return u===void 0&&s===void 0&&b===void 0?t:{...t,nodeSpacing:t.nodeSpacing??u,layerSpacing:t.layerSpacing??s,...b!==void 0?{class:{...t.class,hierarchicalNamespaces:b}}:{}}}function v(o,t,u){let s=D(o,[t,u]);return typeof s=="number"&&Number.isFinite(s)&&s>=0?s:void 0}var B="ns:";function z(o,t,u=!0){let s=[];for(let x of o){let b=t?`${t}.${x.name}`:x.name;s.push({path:b,...u&&t?{parentPath:t}:{},ns:x}),s.push(...z(x.children,b,u))}return s}function j(o,t,u){let s=W(t,A,u),x=new Map;for(let d of o.classes){let p=E(d.label,s.nodeTextTransform),S=Math.max(f.headerBaseHeight,R(p,s.nodeLabelFontSize,s.nodeLabelFontWeight).height+s.nodePaddingY*2),n=d.annotation?S+f.annotationHeight:S,l=d.attributes.length>0?d.attributes.length*f.memberRowHeight+s.nodePaddingY:f.emptySectionHeight,h=d.methods.length>0?d.methods.length*f.memberRowHeight+s.nodePaddingY:f.emptySectionHeight,a=I(p,s.nodeLabelFontSize,s.nodeLabelFontWeight),e=_(d.attributes),g=_(d.methods),r=Math.max(f.minWidth,a+s.nodePaddingX*2,e+s.nodePaddingX*2,g+s.nodePaddingX*2),c=n+l+h;x.set(d.id,{width:r,height:c,headerHeight:n,attrHeight:l,methodHeight:h})}let b=t.nodeSpacing??f.nodeSpacing,N=t.layerSpacing??f.layerSpacing,H=t.class?.hierarchicalNamespaces!==!1,i=z(o.namespaces,void 0,H),m=i.length>0,k={"elk.algorithm":"layered","elk.direction":X(o.direction??"TB"),"elk.spacing.nodeNode":String(b),"elk.layered.spacing.nodeNodeBetweenLayers":String(N),"elk.padding":`[top=${f.padding},left=${f.padding},bottom=${f.padding},right=${f.padding}]`,"elk.edgeRouting":"ORTHOGONAL","elk.edgeLabels.placement":"CENTER"};m&&(k["elk.hierarchyHandling"]="INCLUDE_CHILDREN");let w={id:"root",layoutOptions:k,children:[],edges:[]},P=new Map;for(let d of i)for(let p of d.ns.classIds)P.has(p)||P.set(p,d.path);let C=new Map,M=s.groupHeaderFontSize+16;for(let d of i){let p={id:B+d.path,layoutOptions:{"elk.padding":`[top=${M+s.groupPaddingY},left=${s.groupPaddingX+8},bottom=${s.groupPaddingY+8},right=${s.groupPaddingX+8}]`,"elk.spacing.nodeNode":String(b),"elk.layered.spacing.nodeNodeBetweenLayers":String(N),"elk.edgeRouting":"ORTHOGONAL","elk.edgeLabels.placement":"CENTER"},children:[],edges:[]};C.set(d.path,p),(d.parentPath?C.get(d.parentPath):w).children.push(p)}for(let d of o.classes){let p=x.get(d.id),S={id:d.id,width:p.width,height:p.height},n=P.get(d.id);(n?C.get(n):w).children.push(S)}let L=d=>{let p=P.get(d);if(!p)return[];if(!H)return[p];let S=p.split(".");return S.map((n,l)=>S.slice(0,l+1).join("."))};for(let d=0;d<o.relationships.length;d++){let p=o.relationships[d],S={id:`e${d}`,sources:[p.from],targets:[p.to]};if(p.label){let a=E(p.label,s.edgeTextTransform),e=R(a,s.edgeLabelFontSize,s.edgeLabelFontWeight);S.labels=[{text:a,width:e.width+8,height:e.height+6}]}let n=L(p.from),l=L(p.to),h;for(let a=0;a<Math.min(n.length,l.length)&&n[a]===l[a];a++)h=n[a];(h?C.get(h):w).edges.push(S)}return{elkGraph:w,classSizes:x}}function U(o,t,u,s,x){let b=new Map;for(let n of t.classes)b.set(n.id,n);let N=new Map(z(t.namespaces,void 0,x).map(n=>[n.path,n])),H=s.groupHeaderFontSize+16,i=[],m=[],k=new Map,w=(n,l,h)=>{for(let a of n.edges??[]){let e=[];if(a.sections&&a.sections.length>0){let c=a.sections[0];e.push({x:c.startPoint.x+l,y:c.startPoint.y+h});for(let y of c.bendPoints??[])e.push({x:y.x+l,y:y.y+h});e.push({x:c.endPoint.x+l,y:c.endPoint.y+h})}let g,r=a.labels?.[0];r&&r.x!=null&&r.y!=null&&(g={x:r.x+(r.width??0)/2+l,y:r.y+(r.height??0)/2+h}),k.set(a.id,{points:e,labelPosition:g})}for(let a of n.children??[]){let e=(a.x??0)+l,g=(a.y??0)+h;if(a.id.startsWith(B)){let c=a.id.slice(B.length),y=N.get(c);m.push({id:c,name:y?.ns.name??c,label:y?.ns.label??y?.ns.name??c,parentId:y?.parentPath,classIds:y?[...y.ns.classIds]:[],x:e,y:g,width:a.width??0,height:a.height??0,headerHeight:H}),w(a,e,g);continue}let r=b.get(a.id);if(r){let c=u.get(r.id);i.push({id:r.id,label:r.label,annotation:r.annotation,attributes:r.attributes,methods:r.methods,x:e,y:g,width:a.width??c.width,height:a.height??c.height,headerHeight:c.headerHeight,attrHeight:c.attrHeight,methodHeight:c.methodHeight,...r.className?{className:r.className}:{},...r.href?{href:r.href}:{},...r.className&&t.classDefs.get(r.className)||r.inlineStyle?{inlineStyle:{...r.className?t.classDefs.get(r.className):{},...r.inlineStyle}}:{}})}}};w(o,0,0);let P=[];for(let n=0;n<t.relationships.length;n++){let l=t.relationships[n],h=k.get(`e${n}`);P.push({from:l.from,to:l.to,type:l.type,markerAt:l.markerAt,fromType:l.fromType,toType:l.toType,label:l.label,fromCardinality:l.fromCardinality,toCardinality:l.toCardinality,points:h?.points??[],labelPosition:h?.labelPosition})}let C=o.width??600,M=o.height??400;K(P,i,s,C,M);let L=i.map(n=>({x:n.x,y:n.y,width:n.width,height:n.height})),d=(n,l,h=8)=>n.x<l.x+l.width+h&&n.x+n.width+h>l.x&&n.y<l.y+l.height+h&&n.y+n.height+h>l.y,p=M+16,S=t.notes.map(n=>{let l=R(n.text,12,400),h=Math.max(90,l.width+24),a=Math.max(40,l.height+18),e=n.for?i.find(r=>r.id===n.for):void 0,g;if(e){let r=[];for(let c=0;c<Math.max(4,t.notes.length+1);c++){let y=c*(a+12);r.push({x:e.x+e.width+24,y:e.y+y,width:h,height:a,targetX:e.x+e.width,targetY:e.y+e.height/2,noteX:e.x+e.width+24,noteY:e.y+y+a/2},{x:e.x-h-24,y:e.y+y,width:h,height:a,targetX:e.x,targetY:e.y+e.height/2,noteX:e.x-24,noteY:e.y+y+a/2},{x:e.x,y:e.y+e.height+24+y,width:h,height:a,targetX:e.x+e.width/2,targetY:e.y+e.height,noteX:e.x+h/2,noteY:e.y+e.height+24+y})}g=r.find(c=>c.x>=f.padding&&c.y>=f.padding&&!L.some(y=>d(c,y)))??{x:C+24,y:e.y,width:h,height:a,targetX:e.x+e.width,targetY:e.y+e.height/2,noteX:C+24,noteY:e.y+a/2}}else g={x:f.padding,y:p,width:h,height:a},p+=a+12;return L.push(g),C=Math.max(C,g.x+h+f.padding),M=Math.max(M,g.y+a+f.padding),{text:n.text,...n.for?{for:n.for}:{},...g}});return{width:C,height:M,accessibilityTitle:t.accessibilityTitle,accessibilityDescription:t.accessibilityDescription,classes:i,relationships:P,notes:S,namespaces:m}}function K(o,t,u,s,x){let b=(i,m)=>Math.min(i.x1,m.x1)-Math.max(i.x0,m.x0)>.5&&Math.min(i.y1,m.y1)-Math.max(i.y0,m.y0)>.5,N=t.map(i=>({x0:i.x-1,y0:i.y-1,x1:i.x+i.width+1,y1:i.y+i.height+1}));for(let i of o){if(!i.label||!i.labelPosition)continue;let m=R(E(i.label,u.edgeTextTransform),u.edgeLabelFontSize,u.edgeLabelFontWeight);N.push({x0:i.labelPosition.x-m.width/2-2,y0:i.labelPosition.y-8-m.height/2-2,x1:i.labelPosition.x+m.width/2+2,y1:i.labelPosition.y-8+m.height/2+2})}let H=(i,m,k)=>{let w=R(i,u.edgeLabelFontSize,u.edgeLabelFontWeight),P=w.width/2+2,C=w.height/2+2,M=k.x-m.x,L=k.y-m.y,d=Math.abs(M)>=Math.abs(L),p=d?Math.sign(M||1):0,S=d?0:Math.sign(L||1),n=-S,l=p,h=[];for(let g=10;g<=190;g+=12)h.push(-g,g);let a=[];for(let g=14;g<=150;g+=10)for(let r of h){let c={x:m.x+p*g+n*r,y:m.y+S*g+l*r},y={x0:c.x-P,y0:c.y-C,x1:c.x+P,y1:c.y+C};if(a.push({point:c,box:y}),!(y.x0<0||y.y0<0||y.x1>s||y.y1>x)&&N.every(G=>!b(y,G)))return N.push(y),c}let e=a.map(g=>({...g,collisions:N.filter(r=>b(g.box,r)).length})).sort((g,r)=>g.collisions-r.collisions||g.point.y-r.point.y||g.point.x-r.point.x)[0]??{point:m,box:{x0:m.x,y0:m.y,x1:m.x,y1:m.y}};return N.push(e.box),e.point};for(let i of o)if(!(i.points.length<2)&&(i.fromCardinality&&(i.fromCardinalityPosition=H(i.fromCardinality,i.points[0],i.points[1])),i.toCardinality)){let m=i.points.length-1;i.toCardinalityPosition=H(i.toCardinality,i.points[m],i.points[m-1])}}function se(o,t={},u){if(o.classes.length===0)return{width:0,height:0,accessibilityTitle:o.accessibilityTitle,accessibilityDescription:o.accessibilityDescription,classes:[],relationships:[],notes:[],namespaces:[]};let{elkGraph:s,classSizes:x}=j(o,t,u),b=$(s);return U(b,o,x,W(t,A,u),t.class?.hierarchicalNamespaces!==!1)}function _(o){if(o.length===0)return 0;let t=0;for(let u of o){let s=Z(u),x=Y(s,f.memberFontSize);x>t&&(t=x)}return t}function Z(o){let t=o.visibility?`${o.visibility} `:"",u=o.isMethod?`${o.name}(${o.params||""})`:o.name,s=o.type?`: ${o.type}`:"";return`${t}${u}${s}`}var q=/^direction\s+(TB|TD|BT|LR|RL)\s*$/i;function re(o){let t=o.match(q);return t?t[1].toUpperCase():void 0}export{A as a,oe as b,v as c,se as d,re as e};
@@ -0,0 +1 @@
1
+ function e(t){let r=2166136261;for(let n=0;n<t.length;n++)r^=t.charCodeAt(n),r=Math.imul(r,16777619);return r>>>0}function u(...t){return e(t.join("|")).toString(36)}function i(t){let r=t>>>0;return()=>{r|=0,r=r+1831565813|0;let n=Math.imul(r^r>>>15,1|r);return n=n+Math.imul(n^n>>>7,61|n)^n,((n^n>>>14)>>>0)/4294967296}}function o(t,r,n){return e(`${t>>>0}|${r}|${n}`)}export{u as a,i as b,o as c};
@@ -0,0 +1 @@
1
+ import{a as c,d as r,f as o}from"./chunk-7D24ZLOV.js";function f(a,e={}){let i=a<=6?{accent:e.accent&&r(e.accent)?e.accent:c,bg:e.bg&&r(e.bg)?e.bg:void 0}:e,n=o(a,i),t=e.overrides;return!t||t.length===0?n:n.map((l,d)=>t[d%12]??l)}export{f as a};
@@ -0,0 +1 @@
1
+ import{f as n}from"./chunk-P7HMSKHJ.js";var a,d,r=new Map;function m(t){return(t.split(";")[0]??"").trim().toLowerCase()}function c(t){let e=(t.split(";")[0]??"").trim().toLowerCase();return/^(?:flowchart|graph|swimlane)(?:\s|$)/.test(e)}function y(t){let e=(t.split(";")[0]??"").trim().toLowerCase();return/^statediagram(?:-v2)?\s*$/.test(e)}function p(t){let e=(t.split(";")[0]??"").trim().toLowerCase();return/^statediagram(?:-v2)?(?:\s|$)/.test(e)}function g(t,e="strict"){return c(t)?"flowchart":(e==="loose"?p(t):y(t))?"state":null}function f(t){r.set(t.id,t)}function R(t){return d?.(t)??r.get(t)}function v(t,e="strict"){let o=a?.(t,e);if(o)return o;let l=m(t);return[...r.values()].sort((i,s)=>s.collisionPriority-i.collisionPriority||n(i.id,s.id)).find(i=>e==="loose"?(i.detectLoose??i.detect)(l):i.detect(l))??null}export{g as a,f as b,R as c,v as d};
@@ -0,0 +1 @@
1
+ import{O as i}from"./chunk-FXBBGAMJ.js";var t=r=>Math.round(r*1e3)/1e3,n=r=>`fill="${i(r.fill)}" stroke="${i(r.stroke)}" stroke-width="${i(r.strokeWidth)}"`;function l(r,s){let e=n(s);switch(r.kind){case"rect":return`<rect x="${t(r.x)}" y="${t(r.y)}" width="${t(r.width)}" height="${t(r.height)}" rx="${r.rx??0}" ry="${r.ry??0}" ${e} />`;case"circle":return`<circle cx="${t(r.cx)}" cy="${t(r.cy)}" r="${t(r.r)}" ${e} />`;case"ellipse":return`<ellipse cx="${t(r.cx)}" cy="${t(r.cy)}" rx="${t(r.rx)}" ry="${t(r.ry)}" ${e} />`;case"polygon":return`<polygon points="${r.points.map(c=>`${t(c.x)},${t(c.y)}`).join(" ")}" ${e} />`}}export{l as a};
@@ -0,0 +1 @@
1
+ function t(n,r,u,e,m){let $=b(m,u/2,e);return $===0?`M${n},${r} H${n+u} V${r+e} H${n} Z`:[`M${n+$},${r}`,`H${n+u-$}`,`A${$},${$} 0 0 1 ${n+u},${r+$}`,`V${r+e}`,`H${n}`,`V${r+$}`,`A${$},${$} 0 0 1 ${n+$},${r}`,"Z"].join(" ")}function b(n,r,u){return Math.max(0,Math.min(n,r,u))}export{t as a};
@@ -0,0 +1 @@
1
+ import{a as d,f as V}from"./chunk-FFOHLPDA.js";import{B as P,C as q,E as J,T as B,U as G,V as X,W as g,X as I,Y as h,Z as j,_ as R}from"./chunk-FXBBGAMJ.js";var x=Object.freeze({contrast:Object.freeze({properties:Object.freeze({role:Object.freeze({kind:"role"}),minimum:Object.freeze({kind:"number",minimum:1,maximum:21})}),recovery:"Choose an authored text/surface pair that meets the requested ratio, or remove the rule; the renderer will not repaint it."}),"accent-area":Object.freeze({properties:Object.freeze({maxFraction:Object.freeze({kind:"number",minimum:0,maximum:1,required:!0})}),recovery:"Reduce authored accent-filled area or raise the declared maximum; the renderer will not rewrite fills."}),"mono-role":Object.freeze({properties:Object.freeze({role:Object.freeze({kind:"role",required:!0})}),recovery:"Use measurable monochrome paint for the named role or remove the rule; the renderer will not rewrite paint."})}),k=Object.freeze(Object.keys(x));function w(e){return x[e].properties}function U(e){return Object.freeze(["kind","action",...Object.keys(x[e].properties)])}function H(e){let n=w(e);return Object.freeze(["kind","action",...Object.entries(n).filter(([,t])=>t.required===!0).map(([t])=>t)])}var We=Object.freeze({warn:Object.freeze({code:"BRAND_CONSTRAINT_WARNING",severity:"warning",tier:"lint"}),error:Object.freeze({code:"BRAND_CONSTRAINT_ERROR",severity:"error",tier:"lint"})});var O=1;function D(e){if(typeof e!="object"||e===null||Object.isFrozen(e))return e;for(let n of Object.values(e))D(n);return Object.freeze(e)}var v=D({bg:{description:"Diagram page background."},fg:{description:"Primary text and foreground paint."},line:{description:"Connector and secondary line paint."},accent:{description:"Accent paint for emphasis and data series."},muted:{description:"Muted text and secondary data paint."},surface:{description:"Node and group surface fill."},border:{description:"Node and group border paint."}}),$=Object.freeze(["category"]),T=D({formatVersion:{kind:"const",value:O,group:"metadata",description:"Persisted wire-format version. Optional on input and normalized to 1 on output."},$schema:{kind:"string",group:"metadata",description:"Optional JSON Schema pointer for file-backed styles; ignored while rendering."},name:{kind:"string",group:"metadata",description:"Canonical look:name or palette:name identity; required only when registering a style."},blurb:{kind:"string",group:"metadata",description:"Short human-readable description used by discovery surfaces."},colors:{kind:"colors",group:"palette",description:"Partial palette of safe, non-fetching CSS color tokens."},font:{kind:"string",runtimeValidator:"safeCssFontFamily",group:"typography",description:"Safe, non-fetching CSS font family or stack; the rendering environment supplies the font face."},roles:{kind:"roles",group:"roles",description:"Partial semantic SceneRole defaults. Family-authored styling remains authoritative."},semanticSlots:{kind:"semanticSlots",group:"policy",description:"Named brand-neutral role-style slots selected by semantic bindings."},bindings:{kind:"bindings",group:"policy",description:"Ordered equality bindings from authored/domain meaning to semantic slots."},constraints:{kind:"constraints",group:"policy",description:"Closed inspect-only brand constraints with warn or error actions."},stroke:{kind:"enum",values:["crisp","jittered","freehand"],group:"stroke",description:"Stroke treatment; crisp is the default renderer."},roughness:{kind:"number",minimum:0,maximum:10,expected:"between 0 and 10",group:"stroke",description:"Rough.js stroke irregularity."},bowing:{kind:"number",minimum:0,maximum:10,expected:"between 0 and 10",group:"stroke",description:"Rough.js line bowing."},passes:{kind:"integer",minimum:1,maximum:8,expected:"an integer from 1 through 8",group:"stroke",description:"Number of sketch strokes; 1 is single-pass and 2 is the usual double stroke."},strokeWidth:{kind:"number",exclusiveMinimum:0,maximum:20,expected:"greater than 0 and at most 20",group:"stroke",description:"Base stroke width in SVG user units."},fill:{kind:"enum",values:["none","hachure","solid","wash"],group:"fill",description:"Fill policy for rough/hybrid rendering; none and solid require a final stack that activates one of those backends."},hachureAngle:{kind:"number",minimum:-360,maximum:360,expected:"between -360 and 360",group:"fill",description:"Hachure line angle in degrees; requires fill hachure in the final stack."},hachureGap:{kind:"number",exclusiveMinimum:0,maximum:100,expected:"greater than 0 and at most 100",group:"fill",description:"Gap between hachure lines; requires fill hachure in the final stack."},fillWeight:{kind:"number",exclusiveMinimum:0,maximum:20,expected:"greater than 0 and at most 20",group:"fill",description:"Hachure line weight; requires fill hachure in the final stack."},washOpacity:{kind:"number",minimum:0,maximum:1,expected:"between 0 and 1",group:"fill",description:"Watercolor glaze opacity; requires fill wash in the final stack."},washEdge:{kind:"number",minimum:0,maximum:1,expected:"between 0 and 1",group:"fill",description:"Watercolor edge-darkening opacity; requires fill wash in the final stack."},backdrop:{kind:"enum",values:["plain","paper-ruled","grid"],group:"page",description:"Flat page furniture drawn behind the diagram."},intent:{kind:"enum",values:["premium","draft","lofi"],group:"advisory",description:"Advisory intent metadata for pickers and quality tooling."},mono:{kind:"boolean",group:"advisory",description:"Advisory monochrome contract: express tone through shading and weight."}});function S(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null}function z(e,n){return!(typeof e!="number"||!Number.isFinite(e)||n.kind==="integer"&&!Number.isInteger(e)||n.minimum!==void 0&&e<n.minimum||n.exclusiveMinimum!==void 0&&e<=n.exclusiveMinimum||n.maximum!==void 0&&e>n.maximum)}var me=Object.freeze(["--bg","--fg","--_text","--_text-sec","--_text-muted","--_text-faint","--_line","--_arrow","--_node-fill","--_node-stroke","--_group-fill","--_group-hdr","--_inner-stroke","--_key-badge"]),ye=new Set(me);function ge(e){return typeof e!="string"||J(e)===void 0?!1:[...e.matchAll(/var\(\s*(--[a-z0-9_-]+)/gi)].map(t=>t[1]).every(t=>ye.has(t))}var W=new Map(R.map(e=>[e.role,e])),ee=I.map(e=>W.get(e)),Se=new Set(h),be=/^[A-Za-z][A-Za-z0-9._-]{0,63}$/,L=new Set(["__proto__","constructor","prototype"]);function ne(e,n,t){if(!S(e))return[`"${n}" must be an object`];let i=[];for(let[r,o]of Object.entries(e)){if(!Object.hasOwn(g,r)){i.push(`unknown role style field "${n.slice(n.indexOf(".")+1)}.${r}"`);continue}if(t&&!t.has(r)){i.push(`role style field "${n}.${r}" is not applicable`);continue}let s=g[r],a=`${n}.${r}`;o!==void 0&&(s.kind==="number"&&!z(o,s)?i.push(`"${a}" must be ${s.expected}`):s.kind==="font"&&(typeof o!="string"||P(o)===void 0)?i.push(`"${a}" must be a safe non-fetching CSS font family or stack`):s.kind==="color"&&!ge(o)?i.push(`"${a}" must be a safe non-fetching CSS paint`):s.kind==="enum"&&(typeof o!="string"||!s.values.includes(o))&&i.push(`"${a}" must be one of ${s.values.join(" | ")}`))}return i}function he(e){if(!S(e))return['"roles" must be an object of SceneRole records'];let n=[];for(let[t,i]of Object.entries(e)){let r=W.get(t);if(!r){n.push(`unknown scene role "${t}"`);continue}if(r.traits.styleConsumption==="fallback-only"){n.push(`scene role "${t}" is fallback-only; set roles.${r.style.fallbackRole} instead`);continue}let o=new Set(r.style.applicableProperties),s=ne(i,`roles.${t}`,o).map(a=>a===`"roles.${t}" must be an object`?a:a.replace(`role style field "roles.${t}.`,`role style field "${t}.`).replace('" is not applicable',`" is not applicable to ${t} roles`));n.push(...s)}return n}function te(e){return typeof e=="string"&&be.test(e)&&!L.has(e)}function Re(e){if(!S(e))return['"semanticSlots" must be an object of named role-style slots'];if(Object.keys(e).length>d.maxItemsPerContainer)return[`"semanticSlots" must contain at most ${d.maxItemsPerContainer} slots`];let n=[];for(let[t,i]of Object.entries(e)){if(!te(t)){n.push(`invalid semantic slot name "${t}"`);continue}n.push(...ne(i,`semanticSlots.${t}`))}return n}function ke(e){if(!Array.isArray(e))return['"bindings" must be an array'];if(e.length>d.maxItemsPerContainer)return[`"bindings" must contain at most ${d.maxItemsPerContainer} entries`];let n=[];return e.forEach((t,i)=>{let r=`bindings[${i}]`;if(!S(t)){n.push(`"${r}" must be an object`);return}for(let o of Object.keys(t))["channel","value","slot","role"].includes(o)||n.push(`unknown binding field "${r}.${o}"`);(typeof t.channel!="string"||!$.includes(t.channel))&&n.push(`"${r}.channel" must be one of ${$.join(" | ")}`),(typeof t.value!="string"||t.value.length===0||t.value.length>256||/[\r\n\0]/.test(t.value))&&n.push(`"${r}.value" must be a non-empty single-line string of at most 256 characters`),te(t.slot)||n.push(`"${r}.slot" must be a valid semantic slot name`),t.role!==void 0&&!Se.has(t.role)&&n.push(`"${r}.role" must be a SceneRole with an executable category-binding consumer (${h.join(" | ")})`)}),n}function Oe(e){if(!Array.isArray(e))return['"constraints" must be an array'];if(e.length>d.maxItemsPerContainer)return[`"constraints" must contain at most ${d.maxItemsPerContainer} entries`];let n=[];return e.forEach((t,i)=>{let r=`constraints[${i}]`;if(!S(t)){n.push(`"${r}" must be an object`);return}if(typeof t.kind!="string"||!k.includes(t.kind)){n.push(`"${r}.kind" must be one of ${k.join(" | ")}`);return}let o=t.kind,s=w(o),a=new Set(U(o));for(let l of Object.keys(t))a.has(l)||n.push(`unknown constraint field "${r}.${l}"`);t.action!=="warn"&&t.action!=="error"&&n.push(`"${r}.action" must be one of warn | error`);for(let[l,c]of Object.entries(s)){let f=t[l];if(f===void 0){c.required&&n.push(`"${r}.${l}" is required for ${o}`);continue}c.kind==="role"&&!W.has(f)?n.push(`"${r}.${l}" must be a registered built-in SceneRole`):c.kind==="number"&&!z(f,c)&&n.push(`"${r}.${l}" must be between ${c.minimum} and ${c.maximum}`)}}),n}function A(e){if(!S(e))return["style spec must be a plain object"];if(Object.keys(e).length>d.maxItemsPerContainer)return[`style spec must contain at most ${d.maxItemsPerContainer} fields`];let n=[];for(let[t,i]of Object.entries(e)){if(!Object.hasOwn(T,t)){n.push(`unknown field "${t}"`);continue}let r=T[t];if(i!==void 0)switch(r.kind){case"const":i!==r.value&&n.push(`"${t}" must be ${r.value}`);break;case"string":typeof i!="string"?n.push(`"${t}" must be a string`):r.runtimeValidator==="safeCssFontFamily"&&P(i)===void 0&&n.push(`"${t}" must be a safe non-fetching CSS font family or stack`);break;case"boolean":typeof i!="boolean"&&n.push(`"${t}" must be a boolean`);break;case"number":case"integer":z(i,r)||n.push(`"${t}" must be ${r.expected}`);break;case"enum":(typeof i!="string"||!r.values.includes(i))&&n.push(`"${t}" must be one of ${r.values.join(" | ")}`);break;case"roles":n.push(...he(i));break;case"semanticSlots":n.push(...Re(i));break;case"bindings":n.push(...ke(i));break;case"constraints":n.push(...Oe(i));break;case"colors":{if(!S(i)){n.push('"colors" must be an object of color tokens');break}for(let[o,s]of Object.entries(i))Object.hasOwn(v,o)?s!==void 0&&typeof s!="string"?n.push(`color token "${o}" must be a string`):s!==void 0&&q(s)===void 0&&n.push(`color token "${o}" must be a safe non-fetching CSS color`):n.push(`unknown color token "${o}"`);break}}}return V(n,"Style validation")}function Ce(){return Object.fromEntries(Object.entries(g).map(([e,n])=>{if(n.kind==="number"){let t=n;return[e,{type:"number",...t.minimum!==void 0?{minimum:t.minimum}:{},...t.exclusiveMinimum!==void 0?{exclusiveMinimum:t.exclusiveMinimum}:{},...t.maximum!==void 0?{maximum:t.maximum}:{},description:t.description}]}return n.kind==="enum"?[e,{type:"string",enum:[...n.values],description:n.description}]:[e,{type:"string",description:n.description,"x-agentic-mermaid-runtime-validator":n.kind==="font"?"safeCssFontFamily":"safeStylePaint"}]}))}function Z(e=Object.keys(g)){let n=Ce();return{type:"object",additionalProperties:!1,maxProperties:e.length,properties:Object.fromEntries(e.map(t=>[t,n[t]]))}}function re(e){return`roleStyle-${e.role}`}var Q="^[A-Za-z][A-Za-z0-9._-]{0,63}$";function Ee(e){switch(e.kind){case"const":return{const:e.value,description:e.description};case"string":return{type:"string",description:e.description,...e.runtimeValidator?{"x-agentic-mermaid-runtime-validator":e.runtimeValidator}:{}};case"boolean":return{type:"boolean",description:e.description};case"enum":return{type:"string",enum:[...e.values],description:e.description};case"number":case"integer":return{type:e.kind,...e.minimum!==void 0?{minimum:e.minimum}:{},...e.exclusiveMinimum!==void 0?{exclusiveMinimum:e.exclusiveMinimum}:{},...e.maximum!==void 0?{maximum:e.maximum}:{},description:e.description};case"roles":return{type:"object",additionalProperties:!1,description:e.description,properties:Object.fromEntries(ee.map(n=>[n.role,{$ref:`#/$defs/${re(n)}`}]))};case"semanticSlots":return{type:"object",description:e.description,maxProperties:d.maxItemsPerContainer,propertyNames:{pattern:Q,not:{enum:[...L]}},additionalProperties:{$ref:"#/$defs/roleStyle-any"}};case"bindings":return{type:"array",description:e.description,maxItems:d.maxItemsPerContainer,items:{type:"object",additionalProperties:!1,maxProperties:4,required:["channel","value","slot"],properties:{channel:{type:"string",enum:[...$]},value:{type:"string",minLength:1,maxLength:256,pattern:"^[^\\r\\n\\u0000]+$"},slot:{type:"string",pattern:Q,not:{enum:[...L]}},role:{type:"string",enum:[...h]}}}};case"constraints":{let n={type:"string",enum:["warn","error"]},t={type:"string",enum:R.map(r=>r.role)},i=k.map(r=>{let o=w(r),s=Object.fromEntries(Object.entries(o).map(([a,l])=>[a,l.kind==="role"?t:{type:"number",minimum:l.minimum,maximum:l.maximum}]));return{type:"object",additionalProperties:!1,required:[...H(r)],properties:{kind:{const:r},action:n,...s}}});return{type:"array",description:e.description,maxItems:d.maxItemsPerContainer,items:{oneOf:i}}}case"colors":return{type:"object",additionalProperties:!1,maxProperties:Object.keys(v).length,description:`${e.description} Runtime validation applies the stricter safe-color policy.`,properties:Object.fromEntries(Object.entries(v).map(([n,t])=>[n,{type:"string",description:`${t.description} Must be a safe, non-fetching CSS color.`,"x-agentic-mermaid-runtime-validator":"safeCssColor"}]))}}}function xe(){let e=Object.fromEntries(ee.map(n=>[re(n),Z(n.style.applicableProperties)]));return{$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://agentic-mermaid.dev/schemas/style-spec.schema.json",title:"Agentic Mermaid StyleSpec",description:"A partial declarative style record for Agentic Mermaid rendering. All fields, including formatVersion, are optional on input; resolved and registered specs normalize formatVersion to 1.",type:"object",additionalProperties:!1,maxProperties:Object.keys(T).length,properties:Object.fromEntries(Object.entries(T).map(([n,t])=>[n,Ee(t)])),$defs:{...e,"roleStyle-any":Z()}}}var ie=Object.freeze([{id:"palette:paper",inputName:"paper",displayLabel:"Paper",colors:{bg:"#F5F0E4",fg:"#221E16",accent:"#9A4A24"}},{id:"palette:dusk",inputName:"dusk",displayLabel:"Dusk",colors:{bg:"#2A2521",fg:"#E9DFCC",accent:"#CC8A57"}},{id:"palette:zinc-light",inputName:"zinc-light",displayLabel:"Zinc Light",colors:{bg:"#FFFFFF",fg:"#27272A"}},{id:"palette:zinc-dark",inputName:"zinc-dark",displayLabel:"Zinc Dark",colors:{bg:"#18181B",fg:"#FAFAFA"}},{id:"palette:tokyo-night",inputName:"tokyo-night",displayLabel:"Tokyo Night",colors:{bg:"#1a1b26",fg:"#a9b1d6",line:"#3d59a1",accent:"#7aa2f7",muted:"#565f89"}},{id:"palette:tokyo-night-storm",inputName:"tokyo-night-storm",displayLabel:"Tokyo Night Storm",colors:{bg:"#24283b",fg:"#a9b1d6",line:"#3d59a1",accent:"#7aa2f7",muted:"#565f89"}},{id:"palette:tokyo-night-light",inputName:"tokyo-night-light",displayLabel:"Tokyo Night Light",colors:{bg:"#d5d6db",fg:"#343b58",line:"#34548a",accent:"#34548a",muted:"#9699a3"}},{id:"palette:catppuccin-mocha",inputName:"catppuccin-mocha",displayLabel:"Catppuccin Mocha",colors:{bg:"#1e1e2e",fg:"#cdd6f4",line:"#585b70",accent:"#cba6f7",muted:"#6c7086"}},{id:"palette:catppuccin-latte",inputName:"catppuccin-latte",displayLabel:"Catppuccin Latte",colors:{bg:"#eff1f5",fg:"#4c4f69",line:"#9ca0b0",accent:"#8839ef",muted:"#9ca0b0"}},{id:"palette:nord",inputName:"nord",displayLabel:"Nord",colors:{bg:"#2e3440",fg:"#d8dee9",line:"#4c566a",accent:"#88c0d0",muted:"#616e88"}},{id:"palette:nord-light",inputName:"nord-light",displayLabel:"Nord Light",colors:{bg:"#eceff4",fg:"#2e3440",line:"#aab1c0",accent:"#5e81ac",muted:"#7b88a1"}},{id:"palette:dracula",inputName:"dracula",displayLabel:"Dracula",colors:{bg:"#282a36",fg:"#f8f8f2",line:"#6272a4",accent:"#bd93f9",muted:"#6272a4"}},{id:"palette:github-light",inputName:"github-light",displayLabel:"GitHub Light",colors:{bg:"#ffffff",fg:"#1f2328",line:"#d1d9e0",accent:"#0969da",muted:"#59636e"}},{id:"palette:github-dark",inputName:"github-dark",displayLabel:"GitHub Dark",colors:{bg:"#0d1117",fg:"#e6edf3",line:"#3d444d",accent:"#4493f8",muted:"#9198a1"}},{id:"palette:solarized-light",inputName:"solarized-light",displayLabel:"Solarized Light",colors:{bg:"#fdf6e3",fg:"#657b83",line:"#93a1a1",accent:"#268bd2",muted:"#93a1a1"}},{id:"palette:solarized-dark",inputName:"solarized-dark",displayLabel:"Solarized Dark",colors:{bg:"#002b36",fg:"#839496",line:"#586e75",accent:"#268bd2",muted:"#586e75"}},{id:"palette:one-dark",inputName:"one-dark",displayLabel:"One Dark",colors:{bg:"#282c34",fg:"#abb2bf",line:"#4b5263",accent:"#c678dd",muted:"#5c6370"}},{id:"palette:salmon",inputName:"salmon",displayLabel:"Salmon",colors:{bg:"#FFFBF5",fg:"#521000",line:"#C9A88A",accent:"#FF4801",muted:"#85532E",surface:"#FFFDFB",border:"#D4B89E"}},{id:"palette:salmon-dark",inputName:"salmon-dark",displayLabel:"Salmon Dark",colors:{bg:"#1F1008",fg:"#F5DCC8",line:"#6B4A2E",accent:"#FF6B35",muted:"#A07858",surface:"#2A1810",border:"#5A3A22"}},{id:"palette:tufte-dark",inputName:"tufte-dark",displayLabel:"Tufte Dark",colors:{bg:"#1C1C1A",fg:"#E8E4DC",line:"#666660",accent:"#C87070",muted:"#908880",surface:"#2A2926",border:"#444440"}}]);var F=Object.freeze(["fontSize","fontWeight","letterSpacing","textTransform","textColor"]),oe=Object.freeze(["paddingX","paddingY","cornerRadius","lineWidth","fillColor","borderColor"]),un=Object.freeze({text:Object.freeze({sourceRole:"label",fields:F}),node:Object.freeze({sourceRole:"node",fields:Object.freeze([...F,...oe])}),edge:Object.freeze({sourceRole:"edge",fields:Object.freeze([...F,"lineWidth","bendRadius","strokeColor"])}),group:Object.freeze({sourceRole:"group",fields:Object.freeze([...F,...oe,"fontFamily","headerFillColor"])})}),se="1.0.0",le=Object.freeze({core:"^0.3.0"}),Te=Object.freeze({owner:"agentic-mermaid",source:"built-in",reference:"src/scene/style-registry.ts"}),_e=Object.freeze({owner:"host",source:"in-process"}),m=new Map,C=new Map,Y=0;function Ne(){if(Y>0)throw new Error("Style registry mutation is forbidden while a Style input is undergoing admission")}function de(e){Y++;try{return e()}finally{Y--}}function Ie(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null}function je(e){let n=new WeakMap,t=new WeakSet,i=new Set(["__proto__","prototype","constructor"]),r=0,o=0,s=(a,l)=>{if(l>d.maxDepth)throw new TypeError(`Style input exceeds maximum nesting depth ${d.maxDepth}`);if(r++,r>d.maxNodes)throw new TypeError(`Style input exceeds the ${d.maxNodes}-node limit`);if(typeof a=="string"){if(o+=a.length,o>d.maxAggregateTextCharacters)throw new TypeError(`Style input exceeds the ${d.maxAggregateTextCharacters}-character text limit`);return a}if(typeof a!="object"||a===null)return a;if(t.has(a))throw new TypeError("Style input must be acyclic");let c=n.get(a);if(c!==void 0)return c;if(Array.isArray(a)){if(a.length>d.maxItemsPerContainer)throw new TypeError(`Style array must contain at most ${d.maxItemsPerContainer} items`);let p=[];n.set(a,p),t.add(a);for(let y=0;y<a.length;y++){if(!Object.prototype.hasOwnProperty.call(a,y))throw new TypeError("Style arrays must not be sparse");p.push(s(a[y],l+1))}return t.delete(a),Object.freeze(p)}if(!Ie(a))return a;let f=Object.entries(a);if(f.length>d.maxItemsPerContainer)throw new TypeError(`Style object must contain at most ${d.maxItemsPerContainer} properties`);let b=Object.create(null);n.set(a,b),t.add(a);for(let[p,y]of f){if(i.has(p))throw new TypeError(`Style input uses forbidden key "${p}"`);if(o+=p.length,o>d.maxAggregateTextCharacters)throw new TypeError(`Style input exceeds the ${d.maxAggregateTextCharacters}-character text limit`);Object.defineProperty(b,p,{value:s(y,l+1),enumerable:!0,writable:!1,configurable:!1})}return t.delete(a),Object.freeze(b)};return s(e,0)}function we(e){let n=je(e),t=A(n);if(t.length)throw new Error(`Invalid style spec: ${t.join("; ")}`);return n}function K(e){if(e)return Object.freeze(Object.fromEntries(Object.entries(e).map(([n,t])=>[n,Object.freeze({...t})])))}function M(e){if(e)return Object.freeze(Object.fromEntries(Object.entries(e).map(([n,t])=>[n,Object.freeze({...t})])))}function E(e){return e?Object.freeze(e.map(n=>Object.freeze({...n}))):void 0}function N(e){if(!e)return;let{displayLabel:n,...t}=e;return Object.freeze({...t,formatVersion:O,...t.colors?{colors:Object.freeze({...t.colors})}:{},...t.roles?{roles:K(t.roles)}:{},...t.semanticSlots?{semanticSlots:M(t.semanticSlots)}:{},...t.bindings?{bindings:E(t.bindings)}:{},...t.constraints?{constraints:E(t.constraints)}:{}})}function ve(e,n,t){return G({id:e,kind:n,version:t.version??se,compatibility:{...le,...t.compatibility},provenance:t.provenance??_e})}function $e(e,n,t,i){let r=e.name,o=Object.freeze({...e,formatVersion:O,...e.colors?{colors:Object.freeze({...e.colors})}:{},...e.roles?{roles:K(e.roles)}:{},...e.semanticSlots?{semanticSlots:M(e.semanticSlots)}:{},...e.bindings?{bindings:E(e.bindings)}:{},...e.constraints?{constraints:E(e.constraints)}:{}}),s=ve(r,n,t);if(X(m,{identity:s,value:o}),i!==void 0){let a=C.get(i),l=m.has(i)&&i!==r?i:void 0;if(a!==void 0||l!==void 0)throw m.delete(r),new Error(`Style input name "${i}" already selects "${a??l}"`);C.set(i,r)}return()=>{if(Ne(),m.get(r)?.identity!==s)return!1;let l=m.delete(r);return l&&i!==void 0&&C.get(i)===r&&C.delete(i),l}}function u(e,n="look",t=e.name??""){if(!e.name)throw new Error("registerBuiltInStyle requires a name");let i=e.name,r=B(n,i),o=A(N({...e,name:r}));if(o.length)throw new Error(`Invalid built-in style "${r}": ${o.join("; ")}`);$e({...e,name:r},n,{version:se,compatibility:le,provenance:Te},t)}function ce(e){return m.has(e)?e:C.get(e)}function fn(e){let n=ce(e);if(!n)return;let t=N(m.get(n)?.value);if(t)return Object.freeze({canonicalId:n,spec:t})}function Ae(){return Fe().map(e=>e.inputName)}function Fe(){return Object.freeze(Array.from(m.values(),({identity:e,value:n})=>{let t=Array.from(C.entries()).find(([,o])=>o===e.id)?.[0]??e.id,i=e.id.slice(e.id.indexOf(":")+1),r=n.displayLabel??i.split("-").filter(Boolean).map(o=>o==="ops"?"OPS":o.charAt(0).toUpperCase()+o.slice(1)).join(" ");return Object.freeze({identity:e,spec:N(n),inputName:t,displayLabel:r,kind:e.kind,isDefault:e.id==="look:crisp"})}))}function _(e){return e.stroke==="freehand"||e.fill==="wash"?"hybrid":e.stroke==="jittered"||e.fill==="hachure"||e.backdrop!==void 0&&e.backdrop!=="plain"||e.roughness!==void 0||e.bowing!==void 0||e.passes!==void 0||e.hachureGap!==void 0||e.hachureAngle!==void 0||e.fillWeight!==void 0?"rough":"default"}function Pe(e,n){if(!e&&!n)return;let t={...e},i=t;for(let[r,o]of Object.entries(n??{}))o!==void 0&&(i[r]={...i[r],...o});return t}function Be(e,n){if(!e&&!n)return;let t={...e};for(let[i,r]of Object.entries(n??{}))t[i]={...t[i],...r};return t}function ae(e,n){if(!e&&!n)return;let t=[],i=new Set;for(let r of[...e??[],...n??[]]){let o=JSON.stringify(r);i.has(o)||(i.add(o),t.push(r))}return t}function ue(e){if(e===void 0)return;let n=Array.isArray(e)?e:[e],t=[];for(let r of n)if(typeof r=="string"){let o=ce(r);if(o==="look:crisp")continue;let s=o?m.get(o)?.value:void 0;if(!s)throw new Error(`Unknown style "${r}". Known styles: ${Ae().join(", ")}`);t.push(s)}else t.push(we(r));if(t.length===0)return;let i={formatVersion:O};for(let r of t)for(let[o,s]of Object.entries(r))if(s!==void 0)if(o==="colors"){let a={...i.colors};for(let[l,c]of Object.entries(r.colors??{}))c!==void 0&&(a[l]=c);i.colors=a}else o==="roles"?i.roles=Pe(i.roles,r.roles):o==="semanticSlots"?i.semanticSlots=Be(i.semanticSlots,r.semanticSlots):o==="bindings"?i.bindings=ae(i.bindings,r.bindings):o==="constraints"?i.constraints=ae(i.constraints,r.constraints):i[o]=s;return i}function pn(e){return de(()=>{let n=ue(e);return n&&fe(n),N(n)})}function Le(e){return e?{...e}:void 0}function De(e){let n=e.strokeWidth,t=e.roles?Object.fromEntries(Object.entries(e.roles).map(([s,a])=>[s,Le(a)])):void 0,i={...n!==void 0&&n>0&&_(e)==="default"?{lineWidth:n}:{},...t?.node},r={...n!==void 0&&n>0&&_(e)==="default"?{lineWidth:n}:{},...t?.edge},o={...n!==void 0&&n>0&&_(e)==="default"?{lineWidth:n}:{},...t?.group};if(!(!t&&!e.semanticSlots&&!e.bindings&&!e.constraints&&Object.keys(i).length===0&&Object.keys(r).length===0&&Object.keys(o).length===0))return{...t?{roles:K(t)}:{},...e.semanticSlots?{semanticSlots:M(e.semanticSlots)}:{},...e.bindings?{bindings:E(e.bindings)}:{},...e.constraints?{constraints:E(e.constraints)}:{},...t?.label?{text:{...t.label}}:{},...Object.keys(i).length?{node:i}:{},...Object.keys(r).length?{edge:r}:{},...Object.keys(o).length?{group:o}:{}}}function ze(e,n){let t=n[e.channel];return Array.isArray(t)?t.includes(e.value):String(t??"")===e.value}function mn(e,n,t={},i={}){let r=R.find(f=>f.role===n),o=e?.roles,s=i.includeFallback===!1?void 0:r?o?.[r.style.fallbackRole]:void 0,a=o?.[n],l=s||a?{...s,...a}:void 0,c=new Set(r?.style.applicableProperties??[]);for(let f of e?.bindings??[]){if(f.role!==void 0&&f.role!==n||!ze(f,t))continue;let b=e?.semanticSlots?.[f.slot];if(!b)continue;let p=Object.fromEntries(Object.entries(b).filter(([y])=>c.has(y)));l={...l,...p}}return l?Object.freeze(l):void 0}function fe(e){for(let[o,s]of(e.bindings??[]).entries()){let a=e.semanticSlots?.[s.slot];if(!a)throw new Error(`Invalid style spec: binding ${o+1} references missing semantic slot "${s.slot}"`);let l=s.role===void 0?new Set(j):new Set(R.find(c=>c.role===s.role).style.applicableProperties);if(!Object.keys(a).some(c=>l.has(c)))throw new Error(s.role===void 0?`Invalid style spec: semantic slot "${s.slot}" has no field applicable to any executable category-binding role`:`Invalid style spec: semantic slot "${s.slot}" has no field applicable to role "${s.role}"`)}let t=["hachureAngle","hachureGap","fillWeight"].filter(o=>e[o]!==void 0&&e.fill!=="hachure");if(t.length>0)throw new Error(`Invalid style spec: ${t.map(o=>`"${o}"`).join(", ")} require fill "hachure" in the final Style stack`);let r=["washOpacity","washEdge"].filter(o=>e[o]!==void 0&&e.fill!=="wash");if(r.length>0)throw new Error(`Invalid style spec: ${r.map(o=>`"${o}"`).join(", ")} require fill "wash" in the final Style stack`);if(e.fill!==void 0&&_(e)==="default")throw new Error('Invalid style spec: "fill" has no crisp/default backend projection; combine it with stroke "jittered"/"freehand" or another rough/hybrid backend field')}function yn(e){return de(()=>{let n=ue(e);if(n===void 0)return{};fe(n);let t=N(n),i=De(n);return{...t?{style:t}:{},...i?{face:i}:{}}})}function gn(e){return _(e)!=="default"||e.colors!==void 0||e.font!==void 0||e.strokeWidth!==void 0||e.roles!==void 0||e.semanticSlots!==void 0||e.bindings!==void 0||e.constraints!==void 0}u({name:"crisp",displayLabel:"Crisp",blurb:"The default renderer with precise SVG geometry.",stroke:"crisp"},"look");for(let e of ie){let{inputName:n,colors:t}=e;if(B("palette",n)!==e.id)throw new Error(`Built-in palette identity mismatch: ${e.id}`);u({name:n,displayLabel:e.displayLabel,blurb:`Palette: ${n}.`,colors:{bg:t.bg,fg:t.fg,line:t.line,accent:t.accent,muted:t.muted,surface:t.surface,border:t.border}},"palette",n)}u({name:"hand-drawn",displayLabel:"Hand-drawn",blurb:"Black ink on ruled paper \u2014 wobbly double strokes, unfilled boxes.",intent:"draft",colors:{bg:"#f7f5ef",fg:"#1a1a1e",line:"#26262b",accent:"#26262b",border:"#26262b"},font:"Caveat",stroke:"jittered",roughness:1,bowing:1,passes:2,strokeWidth:1.8,fill:"none",backdrop:"paper-ruled",mono:!0});u({name:"excalidraw",displayLabel:"Excalidraw",blurb:"Virtual whiteboard style \u2014 rough strokes, pastel hachure fills.",intent:"draft",colors:{bg:"#ffffff",fg:"#1e1e1e",line:"#1e1e1e",accent:"#4263eb",surface:"#f1f3f5"},font:"Caveat",stroke:"jittered",roughness:1.1,bowing:1.2,passes:2,strokeWidth:1.6,fill:"hachure",hachureAngle:-41,hachureGap:5.5,fillWeight:.9});u({name:"pen-and-ink",displayLabel:"Pen & ink",blurb:"Fine single-pass linework on warm cream \u2014 no interior hatching.",intent:"premium",colors:{bg:"#faf6ec",fg:"#241f1a",line:"#2b241d",accent:"#2b241d",border:"#2b241d"},font:"EB Garamond",stroke:"jittered",roughness:.5,bowing:.6,passes:1,strokeWidth:1.5,fill:"none",mono:!0});u({name:"freehand",displayLabel:"Freehand",blurb:"Pressure-sensitive marker ribbons \u2014 variable-width filled strokes.",intent:"draft",colors:{bg:"#fbfaf7",fg:"#16161a",line:"#1d1d22",accent:"#1d1d22",border:"#1d1d22"},font:"Architects Daughter",stroke:"freehand",roughness:.9,passes:1,strokeWidth:1.6,fill:"none",mono:!0});u({name:"watercolor",displayLabel:"Watercolor",blurb:"Rough outlines over translucent glazes with pigment-pooled edges.",intent:"premium",colors:{bg:"#fdfbf6",fg:"#31302c",line:"#4d4a44",accent:"#7a6a52",surface:"#ead9b9",border:"#5a564e"},font:"Caveat",stroke:"jittered",roughness:.9,bowing:.8,passes:1,strokeWidth:1.5,fill:"wash",washOpacity:.3,washEdge:.34});u({name:"blueprint",displayLabel:"Blueprint",blurb:"Cyanotype: white linework on Prussian blue with a drafting grid.",intent:"premium",colors:{bg:"#123a63",fg:"#eaf2fb",line:"#dbe9f7",accent:"#ffffff",muted:"#b8cfe6",surface:"#1c4a78",border:"#dbe9f7"},font:"Share Tech Mono",stroke:"jittered",roughness:.4,bowing:.4,passes:1,strokeWidth:1.4,fill:"none",backdrop:"grid",mono:!0});u({name:"tufte",displayLabel:"Tufte",blurb:"Maximal data-ink: crisp hairlines, warm paper, one red accent.",intent:"premium",colors:{bg:"#fffff8",fg:"#111111",line:"#4a4a45",accent:"#a00000",muted:"#6b6b64",border:"#8a8a80"},font:"EB Garamond",roles:{node:{lineWidth:.8,cornerRadius:0},edge:{lineWidth:.8},group:{lineWidth:.8}},mono:!0},"look","look:tufte");u({name:"accessible-high-contrast",displayLabel:"Accessible Contrast",blurb:"Accessibility-first: large labels, heavy strokes, white ground, colorblind-safe blue accent.",intent:"premium",colors:{bg:"#ffffff",fg:"#050505",line:"#111111",accent:"#005fcc",muted:"#333333",surface:"#ffffff",border:"#050505"},roles:{node:{fontSize:17,fontWeight:700,textColor:"var(--fg)",paddingX:28,paddingY:16,cornerRadius:8,lineWidth:2.4,borderColor:"var(--fg)"},edge:{fontSize:14,fontWeight:700,textColor:"var(--fg)",lineWidth:2.6,bendRadius:10,strokeColor:"var(--fg)"},group:{fontSize:14,fontWeight:700,textColor:"var(--fg)",paddingX:24,paddingY:22,cornerRadius:8,lineWidth:2.2,borderColor:"var(--fg)"}}});u({name:"patent-drawing",displayLabel:"Patent Hatching",blurb:"Print-safe patent figure: uniform ink, strong outlines, tone via oblique hatching.",intent:"premium",colors:{bg:"#ffffff",fg:"#111111",line:"#111111",accent:"#111111",muted:"#444444",surface:"#ffffff",border:"#111111"},font:"EB Garamond",stroke:"jittered",roughness:.3,bowing:.2,passes:1,strokeWidth:1.35,fill:"hachure",hachureAngle:-50,hachureGap:7,fillWeight:.65,roles:{node:{fontSize:14,fontWeight:600,textColor:"var(--fg)",paddingX:24,paddingY:13,lineWidth:1.35,cornerRadius:0,borderColor:"var(--fg)"},edge:{fontSize:12,textColor:"var(--fg)",lineWidth:1.45,bendRadius:0,strokeColor:"var(--fg)"},group:{fontSize:12,fontWeight:700,textColor:"var(--fg)",paddingX:22,paddingY:18,lineWidth:1.35,cornerRadius:0,borderColor:"var(--fg)"}},mono:!0});u({name:"status-dashboard",displayLabel:"Dark Ops Dashboard",blurb:"Operational dashboard: dark surface, rounded modules, bright status-friendly accent.",intent:"premium",colors:{bg:"#08111f",fg:"#e6f4ff",line:"#5a7c99",accent:"#2dd4bf",muted:"#8aa6bf",surface:"#102033",border:"#2e4c63"},roles:{node:{fontSize:14,fontWeight:700,textColor:"var(--fg)",paddingX:24,paddingY:13,cornerRadius:10,lineWidth:1.4,borderColor:"var(--fg)"},edge:{fontSize:12,fontWeight:600,textColor:"var(--fg)",lineWidth:2,bendRadius:14,strokeColor:"var(--fg)"},group:{fontSize:13,fontWeight:700,textColor:"var(--fg)",textTransform:"uppercase",letterSpacing:.06,paddingX:22,paddingY:20,cornerRadius:10,lineWidth:1.3,borderColor:"var(--fg)"}}});u({name:"ops-schematic",displayLabel:"Compact Trace Map",blurb:"Dense operational schematic: compact mono labels, sturdy traces, theme-friendly geometry.",intent:"lofi",colors:{bg:"#f8faf7",fg:"#17211c",line:"#24523b",accent:"#0f766e",muted:"#4f665a",surface:"#f0f5ef",border:"#24523b"},font:"Share Tech Mono",stroke:"jittered",roughness:.18,bowing:.2,passes:1,strokeWidth:1.6,fill:"none",roles:{node:{fontSize:12,fontWeight:700,textTransform:"uppercase",textColor:"var(--fg)",paddingX:16,paddingY:8,cornerRadius:2,lineWidth:1.6,borderColor:"var(--fg)"},edge:{fontSize:10,fontWeight:700,textTransform:"uppercase",textColor:"var(--fg)",lineWidth:1.8,bendRadius:0,strokeColor:"var(--fg)"},group:{fontSize:11,fontWeight:700,textColor:"var(--fg)",textTransform:"uppercase",letterSpacing:.05,paddingX:16,paddingY:16,cornerRadius:2,lineWidth:1.5,borderColor:"var(--fg)"}}});u({name:"chalkboard",displayLabel:"Chalkboard",blurb:"Classroom chalkboard: dusty off-white strokes on green slate.",intent:"draft",colors:{bg:"#17362f",fg:"#f5f1df",line:"#ece6cf",accent:"#ffe08a",muted:"#c7d2c4",surface:"#17362f",border:"#f3ecd5"},font:"Caveat",stroke:"jittered",roughness:1.25,bowing:1,passes:2,strokeWidth:1.9,fill:"none",roles:{node:{fontSize:16,fontWeight:700,textColor:"var(--fg)",paddingX:24,paddingY:12,borderColor:"var(--fg)"},edge:{fontSize:13,textColor:"var(--fg)",lineWidth:1.8,strokeColor:"var(--fg)"},group:{fontSize:14,fontWeight:700,textColor:"var(--fg)",paddingX:20,paddingY:20,lineWidth:1.7,borderColor:"var(--fg)"}},mono:!0});u({name:"risograph",displayLabel:"Riso Print",blurb:"Two-ink poster print: warm stock, offset blue linework, coral accent, coarse hachure.",intent:"premium",colors:{bg:"#fff5df",fg:"#2b2725",line:"#1f3d5a",accent:"#ff5a5f",muted:"#876a52",surface:"#ffd166",border:"#1f3d5a"},font:"EB Garamond",stroke:"jittered",roughness:.7,bowing:.55,passes:1,strokeWidth:1.5,fill:"hachure",hachureAngle:18,hachureGap:6.5,fillWeight:.75,roles:{node:{fontSize:14,fontWeight:700,textColor:"var(--fg)",paddingX:24,paddingY:13,cornerRadius:3,borderColor:"var(--fg)"},edge:{fontSize:12,textColor:"var(--fg)",lineWidth:1.5,strokeColor:"var(--fg)"},group:{fontSize:13,fontWeight:700,textColor:"var(--fg)",paddingX:22,paddingY:18,cornerRadius:3,borderColor:"var(--fg)"}}});u({name:"architectural-plan",displayLabel:"Plan Drafting",blurb:"Architectural plan: square technical linework, uppercase mono labels, room-like frames.",intent:"premium",colors:{bg:"#fbf7ea",fg:"#202a2f",line:"#38535e",accent:"#1f6f8b",muted:"#60727a",surface:"#fffaf0",border:"#38535e"},font:"Share Tech Mono",stroke:"jittered",roughness:.18,bowing:.25,passes:1,strokeWidth:1.45,fill:"none",roles:{node:{fontSize:12,fontWeight:700,textTransform:"uppercase",textColor:"var(--fg)",paddingX:20,paddingY:10,cornerRadius:0,lineWidth:1.45,borderColor:"var(--fg)"},edge:{fontSize:10,fontWeight:700,textTransform:"uppercase",textColor:"var(--fg)",lineWidth:1.55,bendRadius:0,strokeColor:"var(--fg)"},group:{fontSize:11,fontWeight:700,textColor:"var(--fg)",textTransform:"uppercase",letterSpacing:.06,paddingX:20,paddingY:20,cornerRadius:0,lineWidth:1.45,borderColor:"var(--fg)"}}});u({name:"publication-figure",displayLabel:"Report Figure",blurb:"Polished publication figure: serif labels, confident rules, rounded boxes, one quiet accent.",intent:"premium",colors:{bg:"#fffdf8",fg:"#171512",line:"#24211d",accent:"#1d4ed8",muted:"#5f5a52",surface:"#faf5ea",border:"#24211d"},font:"EB Garamond",strokeWidth:1.45,roles:{node:{fontSize:15,fontWeight:700,textColor:"var(--fg)",paddingX:26,paddingY:14,cornerRadius:7,lineWidth:1.45,borderColor:"var(--fg)"},edge:{fontSize:12,fontWeight:600,textColor:"var(--fg)",lineWidth:1.45,bendRadius:8,strokeColor:"var(--fg)"},group:{fontSize:12,fontWeight:700,textColor:"var(--fg)",textTransform:"uppercase",letterSpacing:.08,paddingX:24,paddingY:22,cornerRadius:7,lineWidth:1.35,borderColor:"var(--fg)"}}});export{xe as a,fn as b,_ as c,pn as d,mn as e,yn as f,gn as g};
@@ -0,0 +1 @@
1
+ function g(r,n,s,t,e){let i={};return e?(i.role="img",i["aria-roledescription"]=e):(r||n)&&(i.role="img"),r&&(i["aria-labelledby"]=s),n&&(i["aria-describedby"]=t),i}export{g as a};
@@ -0,0 +1 @@
1
+ var J=Object.create;var C=Object.defineProperty;var Z=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,U=Object.prototype.hasOwnProperty;var _=(A=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(A,{get:(e,c)=>(typeof require<"u"?require:e)[c]}):A)(function(A){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+A+'" is not supported')});var $=(A,e)=>()=>{try{return e||A((e={exports:{}}).exports,e),e.exports}catch(c){throw e=0,c}},AA=(A,e)=>{for(var c in e)C(A,c,{get:e[c],enumerable:!0})},R=(A,e,c,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of H(e))!U.call(A,o)&&o!==c&&C(A,o,{get:()=>e[o],enumerable:!(r=Z(e,o))||r.enumerable});return A};var eA=(A,e,c)=>(c=A!=null?J(k(A)):{},R(e||!A||!A.__esModule?C(c,"default",{value:A,enumerable:!0}):c,A));var m,N=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),w=(m=String.fromCodePoint)!==null&&m!==void 0?m:(A=>{let e="";return A>65535&&(A-=65536,e+=String.fromCharCode(A>>>10&1023|55296),A=56320|A&1023),e+=String.fromCharCode(A),e});function u(A){var e;return A>=55296&&A<=57343||A>1114111?65533:(e=N.get(A))!==null&&e!==void 0?e:A}function Q(A){let e=typeof atob=="function"?atob(A):typeof Buffer.from=="function"?Buffer.from(A,"base64").toString("binary"):new Buffer(A,"base64").toString("binary"),c=e.length&-2,r=new Uint16Array(c/2);for(let o=0,t=0;o<c;o+=2){let i=e.charCodeAt(o),n=e.charCodeAt(o+1);r[t++]=i|n<<8}return r}var b=Q("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg");var I;(function(A){A[A.VALUE_LENGTH=49152]="VALUE_LENGTH",A[A.FLAG13=8192]="FLAG13",A[A.BRANCH_LENGTH=8064]="BRANCH_LENGTH",A[A.JUMP_TABLE=127]="JUMP_TABLE"})(I||(I={}));var g;(function(A){A[A.NUM=35]="NUM",A[A.SEMI=59]="SEMI",A[A.EQUALS=61]="EQUALS",A[A.ZERO=48]="ZERO",A[A.NINE=57]="NINE",A[A.LOWER_A=97]="LOWER_A",A[A.LOWER_F=102]="LOWER_F",A[A.LOWER_X=120]="LOWER_X",A[A.LOWER_Z=122]="LOWER_Z",A[A.UPPER_A=65]="UPPER_A",A[A.UPPER_F=70]="UPPER_F",A[A.UPPER_Z=90]="UPPER_Z"})(g||(g={}));var G=32;function D(A){return A>=g.ZERO&&A<=g.NINE}function S(A){return A>=g.UPPER_A&&A<=g.UPPER_F||A>=g.LOWER_A&&A<=g.LOWER_F}function f(A){return A>=g.UPPER_A&&A<=g.UPPER_Z||A>=g.LOWER_A&&A<=g.LOWER_Z||D(A)}function M(A){return A===g.EQUALS||f(A)}var a;(function(A){A[A.EntityStart=0]="EntityStart",A[A.NumericStart=1]="NumericStart",A[A.NumericDecimal=2]="NumericDecimal",A[A.NumericHex=3]="NumericHex",A[A.NamedEntity=4]="NamedEntity"})(a||(a={}));var B;(function(A){A[A.Legacy=0]="Legacy",A[A.Strict=1]="Strict",A[A.Attribute=2]="Attribute"})(B||(B={}));var d=class{constructor(e,c,r){this.decodeTree=e,this.emitCodePoint=c,this.errors=r,this.state=a.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=B.Strict,this.runConsumed=0}startEntity(e){this.decodeMode=e,this.state=a.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(e,c){switch(this.state){case a.EntityStart:return e.charCodeAt(c)===g.NUM?(this.state=a.NumericStart,this.consumed+=1,this.stateNumericStart(e,c+1)):(this.state=a.NamedEntity,this.stateNamedEntity(e,c));case a.NumericStart:return this.stateNumericStart(e,c);case a.NumericDecimal:return this.stateNumericDecimal(e,c);case a.NumericHex:return this.stateNumericHex(e,c);case a.NamedEntity:return this.stateNamedEntity(e,c)}}stateNumericStart(e,c){return c>=e.length?-1:(e.charCodeAt(c)|G)===g.LOWER_X?(this.state=a.NumericHex,this.consumed+=1,this.stateNumericHex(e,c+1)):(this.state=a.NumericDecimal,this.stateNumericDecimal(e,c))}stateNumericHex(e,c){for(;c<e.length;){let r=e.charCodeAt(c);if(D(r)||S(r)){let o=r<=g.NINE?r-g.ZERO:(r|G)-g.LOWER_A+10;this.result=this.result*16+o,this.consumed++,c++}else return this.emitNumericEntity(r,3)}return-1}stateNumericDecimal(e,c){for(;c<e.length;){let r=e.charCodeAt(c);if(D(r))this.result=this.result*10+(r-g.ZERO),this.consumed++,c++;else return this.emitNumericEntity(r,2)}return-1}emitNumericEntity(e,c){var r;if(this.consumed<=c)return(r=this.errors)===null||r===void 0||r.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(e===g.SEMI)this.consumed+=1;else if(this.decodeMode===B.Strict)return 0;return this.emitCodePoint(u(this.result),this.consumed),this.errors&&(e!==g.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(e,c){let{decodeTree:r}=this,o=r[this.treeIndex],t=(o&I.VALUE_LENGTH)>>14;for(;c<e.length;){if(t===0&&(o&I.FLAG13)!==0){let n=(o&I.BRANCH_LENGTH)>>7;if(this.runConsumed===0){let l=o&I.JUMP_TABLE;if(e.charCodeAt(c)!==l)return this.result===0?0:this.emitNotTerminatedNamedEntity();c++,this.excess++,this.runConsumed++}for(;this.runConsumed<n;){if(c>=e.length)return-1;let l=this.runConsumed-1,s=r[this.treeIndex+1+(l>>1)],h=l%2===0?s&255:s>>8&255;if(e.charCodeAt(c)!==h)return this.runConsumed=0,this.result===0?0:this.emitNotTerminatedNamedEntity();c++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(n>>1),o=r[this.treeIndex],t=(o&I.VALUE_LENGTH)>>14}if(c>=e.length)break;let i=e.charCodeAt(c);if(i===g.SEMI&&t!==0&&(o&I.FLAG13)!==0)return this.emitNamedEntityData(this.treeIndex,t,this.consumed+this.excess);if(this.treeIndex=X(r,o,this.treeIndex+Math.max(1,t),i),this.treeIndex<0)return this.result===0||this.decodeMode===B.Attribute&&(t===0||M(i))?0:this.emitNotTerminatedNamedEntity();if(o=r[this.treeIndex],t=(o&I.VALUE_LENGTH)>>14,t!==0){if(i===g.SEMI)return this.emitNamedEntityData(this.treeIndex,t,this.consumed+this.excess);this.decodeMode!==B.Strict&&(o&I.FLAG13)===0&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}c++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var e;let{result:c,decodeTree:r}=this,o=(r[c]&I.VALUE_LENGTH)>>14;return this.emitNamedEntityData(c,o,this.consumed),(e=this.errors)===null||e===void 0||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,c,r){let{decodeTree:o}=this;return this.emitCodePoint(c===1?o[e]&~(I.VALUE_LENGTH|I.FLAG13):o[e+1],r),c===3&&this.emitCodePoint(o[e+2],r),r}end(){var e;switch(this.state){case a.NamedEntity:return this.result!==0&&(this.decodeMode!==B.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case a.NumericDecimal:return this.emitNumericEntity(0,2);case a.NumericHex:return this.emitNumericEntity(0,3);case a.NumericStart:return(e=this.errors)===null||e===void 0||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case a.EntityStart:return 0}}};function L(A){let e="",c=new d(A,r=>e+=w(r));return function(o,t){let i=0,n=0;for(;(n=o.indexOf("&",n))>=0;){e+=o.slice(i,n),c.startEntity(t);let s=c.write(o,n+1);if(s<0){i=n+c.end();break}i=n+s,n=s===0?i+1:i}let l=e+o.slice(i);return e="",l}}function X(A,e,c,r){let o=(e&I.BRANCH_LENGTH)>>7,t=e&I.JUMP_TABLE;if(o===0)return t!==0&&r===t?c:-1;if(t){let s=r-t;return s<0||s>=o?-1:A[c+s]-1}let i=o+1>>1,n=0,l=o-1;for(;n<=l;){let s=n+l>>>1,h=s>>1,K=A[c+h]>>(s&1)*8&255;if(K<r)n=s+1;else if(K>r)l=s-1;else return A[c+i+s]}return-1}var V=L(b);function p(A){return V(A,B.Strict)}var v=String.prototype.codePointAt==null?(A,e)=>(A.charCodeAt(e)&64512)===55296?(A.charCodeAt(e)-55296)*1024+A.charCodeAt(e+1)-56320+65536:A.charCodeAt(e):(A,e)=>A.codePointAt(e);var Y;(function(A){A[A.XML=0]="XML",A[A.HTML=1]="HTML"})(Y||(Y={}));var E;(function(A){A[A.UTF8=0]="UTF8",A[A.ASCII=1]="ASCII",A[A.Extensive=2]="Extensive",A[A.Attribute=3]="Attribute",A[A.Text=4]="Text"})(E||(E={}));function xA(A,e){let c=[...A].map(t=>t.codePointAt(0)),r=[...e].map(t=>t.codePointAt(0)),o=Math.min(c.length,r.length);for(let t=0;t<o;t++){let i=c[t]-r[t];if(i!==0)return i}return c.length-r.length}function fA(A,e){let c=0;for(let r=0;r<A.length;r++){let o=A.charCodeAt(r);if(o<=127)c+=1;else if(o<=2047)c+=2;else if(o>=55296&&o<=56319&&r+1<A.length){let t=A.charCodeAt(r+1);t>=56320&&t<=57343?(c+=4,r++):c+=3}else c+=3;if(c>e)return e+1}return c}export{_ as a,$ as b,AA as c,eA as d,p as e,xA as f,fA as g};
@@ -0,0 +1 @@
1
+ import{E as l,F as i,l as u,r as g}from"./chunk-FXBBGAMJ.js";var m={default:{bg:i.bg,fg:i.fg},base:{bg:i.bg,fg:i.fg},neutral:{bg:"#ffffff",fg:"#1f2937",line:"#9ca3af",accent:"#6b7280",muted:"#6b7280"},dark:{bg:"#18181B",fg:"#FAFAFA"},forest:{bg:"#f0fdf4",fg:"#14532d",line:"#4d7c0f",accent:"#15803d",muted:"#65a30d",border:"#86efac"}},d={bg:["background","mainBkg"],fg:["primaryTextColor","textColor","nodeTextColor"],line:["lineColor","defaultLinkColor"],accent:["arrowheadColor","primaryColor"],muted:["secondaryTextColor","tertiaryTextColor"],surface:["primaryColor","nodeBkg","mainBkg"],border:["primaryBorderColor","secondaryBorderColor"]};function F(e,r,n,o=!1){let t=b(r.theme),a=r.themeVariables,s=(...c)=>{let f=C(a,...c);return o?f:l(f)};return{bg:e.bg??s(...d.bg)??t?.bg??i.bg,fg:e.fg??s(...d.fg)??t?.fg??i.fg,line:e.line??s(...d.line)??t?.line,accent:e.accent??s(...d.accent)??t?.accent,muted:e.muted??s(...d.muted)??t?.muted,surface:e.surface??s(...d.surface)??t?.surface,border:e.border??s(...d.border)??t?.border,shadow:e.shadow??t?.shadow,font:n,embedFontImport:e.embedFontImport}}function b(e){if(e)return m[e.toLowerCase()]}function C(e,...r){if(e)for(let n of r){let o=e[n];if(typeof o=="string"&&o.length>0)return o}}function M(e,r){let n,o=r.classAssignments.get(e);if(o){let a=r.classDefs.get(o);a&&(n={...a})}let t=r.nodeStyles.get(e);return t&&(n=n?{...n,...t}:{...t}),n}function v(e,r){let n,o=r.linkStyles.get("default");o&&(n={...o});let t=r.linkStyles.get(e);return t&&(n=n?{...n,...t}:{...t}),n}function p(e){let r=u(e);return r?{r:r[0],g:r[1],b:r[2]}:null}function y(e){let r=e.match(/^rgba?\(\s*(\d{1,3})(?:\s*,\s*|\s+)(\d{1,3})(?:\s*,\s*|\s+)(\d{1,3})/i);if(!r)return null;let n={r:Number.parseInt(r[1],10),g:Number.parseInt(r[2],10),b:Number.parseInt(r[3],10)};return Object.values(n).every(o=>o>=0&&o<=255)?n:null}function x(e){let r=p(e)??y(e);return r?g(r.r,r.g,r.b)>140?"#000000":"#FFFFFF":void 0}function D(e,r="var(--_text)"){return e?.color?e.color:e?.fill?x(e.fill)??r:r}export{d as a,F as b,C as c,M as d,v as e,x as f,D as g};
@@ -0,0 +1 @@
1
+ function o(n){let r=n.known&&n.known.length>0?` (known: ${n.known.join(", ")})`:"";return new Error(`${n.what} \u2014 expected ${n.expectedForm}, e.g. ${n.example}${r}`)}export{o as a};
@@ -0,0 +1 @@
1
+ import{e as f,g as S}from"./chunk-FXBBGAMJ.js";function R(n,e,t){return f(n,e,t)}function P(n,e){return S(n,e)}var C="'JetBrains Mono'",y=`${C}, 'SF Mono', 'Fira Code', ui-monospace, monospace`,b={nodeLabel:13,edgeLabel:11,groupHeader:12},c={nodeLabel:500,edgeLabel:400,groupHeader:600};var s={horizontal:20,vertical:10,diamondExtra:24},m={outerBox:1,innerBox:.75,connector:1},z="0.35em",H={width:8,height:5},E={dash:4,gap:4},F={nodeLabelFontSize:b.nodeLabel,edgeLabelFontSize:b.edgeLabel,groupHeaderFontSize:b.groupHeader,nodeLabelFontWeight:c.nodeLabel,edgeLabelFontWeight:c.edgeLabel,groupHeaderFontWeight:c.groupHeader,nodePaddingX:s.horizontal,nodePaddingY:s.vertical,diamondExtraPadding:s.diamondExtra,edgeLineWidth:m.connector,groupCornerRadius:0,groupPaddingX:16,groupPaddingY:16,groupLabelPaddingX:12,groupLineWidth:m.outerBox};function p(n){return typeof n=="number"&&Number.isFinite(n)?n:void 0}function a(n,...e){for(let t of e){let r=p(t);if(r!=null&&r>0)return r}return n}function l(n,...e){for(let t of e){let r=p(t);if(r!=null&&r>=0)return r}return n}function g(...n){for(let e of n)if(typeof e=="string"&&e.trim().length>0)return e}function T(...n){for(let e of n){let t=g(e)?.toLowerCase();if(t==="uppercase"||t==="lowercase"||t==="capitalize")return t}}var h=/(<\/?(?:b|strong|i|em|u|s|del)\s*>)/gi;function N(n,e){if(!e)return n;let t=r=>{switch(e){case"uppercase":return r.toUpperCase();case"lowercase":return r.toLowerCase();case"capitalize":return r.replace(/\b\p{L}/gu,o=>o.toUpperCase())}};return n.split(h).map(r=>/^<\/?(?:b|strong|i|em|u|s|del)\s*>$/i.test(r)?r:t(r)).join("")}function X(n={},e=F,t){let r=t??n.styleFace,o=r?.text,d=r?.node,u=r?.edge,i=r?.group,x=l(void 0,i?.paddingX),L=e.nodeCornerRadius==null?l(void 0,d?.cornerRadius):l(e.nodeCornerRadius,d?.cornerRadius);return{nodeLabelFontSize:a(e.nodeLabelFontSize,d?.fontSize,o?.fontSize),edgeLabelFontSize:a(e.edgeLabelFontSize,u?.fontSize,o?.fontSize),groupHeaderFontSize:a(e.groupHeaderFontSize,i?.fontSize,o?.fontSize),nodeLabelFontWeight:a(e.nodeLabelFontWeight,d?.fontWeight,o?.fontWeight),edgeLabelFontWeight:a(e.edgeLabelFontWeight,u?.fontWeight,o?.fontWeight),groupHeaderFontWeight:a(e.groupHeaderFontWeight,i?.fontWeight,o?.fontWeight),nodeTextTransform:T(d?.textTransform,o?.textTransform,e.nodeTextTransform),edgeTextTransform:T(u?.textTransform,o?.textTransform,e.edgeTextTransform),nodeLetterSpacing:p(d?.letterSpacing)??p(o?.letterSpacing)??e.nodeLetterSpacing??0,edgeLetterSpacing:p(u?.letterSpacing)??p(o?.letterSpacing)??e.edgeLetterSpacing??0,groupLetterSpacing:p(i?.letterSpacing)??p(o?.letterSpacing)??e.groupLetterSpacing??0,nodePaddingX:l(e.nodePaddingX,d?.paddingX),nodePaddingY:l(e.nodePaddingY,d?.paddingY),diamondExtraPadding:e.diamondExtraPadding??s.diamondExtra,cornerRadius:L,nodeLineWidth:a(e.nodeLineWidth??m.innerBox,d?.lineWidth),nodeFillColor:g(d?.fillColor,e.nodeFillColor),nodeBorderColor:g(d?.borderColor,e.nodeBorderColor),nodeTextColor:g(d?.textColor,o?.textColor,e.nodeTextColor),lineWidth:a(e.edgeLineWidth,u?.lineWidth),edgeBendRadius:l(e.edgeBendRadius??0,u?.bendRadius),edgeStrokeColor:g(u?.strokeColor,e.edgeStrokeColor),edgeTextColor:g(u?.textColor,o?.textColor,e.edgeTextColor),groupFont:g(i?.fontFamily,e.groupFont),groupTextTransform:T(i?.textTransform,o?.textTransform,e.groupTextTransform),groupCornerRadius:l(e.groupCornerRadius,i?.cornerRadius),groupBorderColor:g(i?.borderColor,e.groupBorderColor),groupFillColor:g(i?.fillColor,e.groupFillColor),groupHeaderFillColor:g(i?.headerFillColor,e.groupHeaderFillColor),groupTextColor:g(i?.textColor,o?.textColor,e.groupTextColor),groupPaddingX:x??e.groupPaddingX,groupPaddingY:l(e.groupPaddingY,i?.paddingY),groupLabelPaddingX:x??e.groupLabelPaddingX??e.groupPaddingX,groupLineWidth:a(e.groupLineWidth??m.outerBox,i?.lineWidth)}}export{R as a,P as b,b as c,c as d,m as e,z as f,H as g,E as h,F as i,N as j,X as k};
@@ -0,0 +1 @@
1
+ var t=Object.freeze({maxIcons:32,maxNameBytes:128,maxPathBytes:4096}),o=Object.freeze({account:"M12 4a4 4 0 0 1 4 4a4 4 0 0 1-4 4a4 4 0 0 1-4-4a4 4 0 0 1 4-4m0 10c4.42 0 8 1.79 8 4v2H4v-2c0-2.21 3.58-4 8-4",api:"M7 7H5a2 2 0 0 0-2 2v8h2v-4h2v4h2V9a2 2 0 0 0-2-2m0 4H5V9h2m7-2h-4v10h2v-4h2a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2m0 4h-2V9h2m6 0v6h1v2h-4v-2h1V9h-1V7h4v2Z","application-brackets":"M21 2H3a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2M11 17.5L9.5 19L5 14.5L9.5 10l1.5 1.5l-3 3zm3.5 1.5L13 17.5l3-3l-3-3l1.5-1.5l4.5 4.5zM21 7H3V4h18z",archive:"M3 3h18v4H3zm1 5h16v13H4zm5.5 3a.5.5 0 0 0-.5.5V13h6v-1.5a.5.5 0 0 0-.5-.5z",cellphone:"M17 19H7V5h10m0-4H7c-1.11 0-2 .89-2 2v18a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2",cloud:"M6.5 20q-2.28 0-3.89-1.57Q1 16.85 1 14.58q0-1.95 1.17-3.48q1.18-1.53 3.08-1.95q.63-2.3 2.5-3.72Q9.63 4 12 4q2.93 0 4.96 2.04Q19 8.07 19 11q1.73.2 2.86 1.5q1.14 1.28 1.14 3q0 1.88-1.31 3.19T18.5 20Z",cog:"M12 15.5A3.5 3.5 0 0 1 8.5 12A3.5 3.5 0 0 1 12 8.5a3.5 3.5 0 0 1 3.5 3.5a3.5 3.5 0 0 1-3.5 3.5m7.43-2.53c.04-.32.07-.64.07-.97s-.03-.66-.07-1l2.11-1.63c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.39-.31-.61-.22l-2.49 1c-.52-.39-1.06-.73-1.69-.98l-.37-2.65A.506.506 0 0 0 14 2h-4c-.25 0-.46.18-.5.42l-.37 2.65c-.63.25-1.17.59-1.69.98l-2.49-1c-.22-.09-.49 0-.61.22l-2 3.46c-.13.22-.07.49.12.64L4.57 11c-.04.34-.07.67-.07 1s.03.65.07.97l-2.11 1.66c-.19.15-.25.42-.12.64l2 3.46c.12.22.39.3.61.22l2.49-1.01c.52.4 1.06.74 1.69.99l.37 2.65c.04.24.25.42.5.42h4c.25 0 .46-.18.5-.42l.37-2.65c.63-.26 1.17-.59 1.69-.99l2.49 1.01c.22.08.49 0 .61-.22l2-3.46c.12-.22.07-.49-.12-.64z",database:"M12 3C7.58 3 4 4.79 4 7s3.58 4 8 4s8-1.79 8-4s-3.58-4-8-4M4 9v3c0 2.21 3.58 4 8 4s8-1.79 8-4V9c0 2.21-3.58 4-8 4s-8-1.79-8-4m0 5v3c0 2.21 3.58 4 8 4s8-1.79 8-4v-3c0 2.21-3.58 4-8 4s-8-1.79-8-4",dns:"M7 9a2 2 0 0 1-2-2a2 2 0 0 1 2-2a2 2 0 0 1 2 2a2 2 0 0 1-2 2m13-6H4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1M7 19a2 2 0 0 1-2-2a2 2 0 0 1 2-2a2 2 0 0 1 2 2a2 2 0 0 1-2 2m13-6H4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1",email:"m20 8l-8 5l-8-5V6l8 5l8-5m0-2H4c-1.11 0-2 .89-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2","folder-network":"M3 15V5a2 2 0 0 1 2-2h6l2 2h6a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-6v2h1a1 1 0 0 1 1 1h7v2h-7a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1H2v-2h7a1 1 0 0 1 1-1h1v-2H5a2 2 0 0 1-2-2","function-variant":"M12.42 5.29c-1.1-.1-2.07.71-2.17 1.82L10 10h2.82v2h-3l-.44 5.07A4.001 4.001 0 0 1 2 18.83l1.5-1.5c.33 1.05 1.46 1.64 2.5 1.3c.78-.24 1.33-.93 1.4-1.74L7.82 12h-3v-2H8l.27-3.07a4.01 4.01 0 0 1 4.33-3.65c1.26.11 2.4.81 3.06 1.89l-1.5 1.5c-.25-.77-.93-1.31-1.74-1.38M22 13.65l-1.41-1.41l-2.83 2.83l-2.83-2.83l-1.43 1.41l2.85 2.85l-2.85 2.81l1.43 1.41l2.83-2.83l2.83 2.83L22 19.31l-2.83-2.81z","google-cloud":"M23 14.75C23 18.2 20.2 21 16.75 21h-9.5C3.8 21 1 18.2 1 14.75c0-2.14 1.08-4.03 2.71-5.15C4.58 5.82 7.96 3 12 3s7.42 2.82 8.29 6.6A6.22 6.22 0 0 1 23 14.75M16.63 17c1.31 0 2.37-1.06 2.37-2.37c0-1.28-1-2.33-2.28-2.38l.03-.5a4.754 4.754 0 0 0-8.32-3.14c1.5.29 2.8 1.11 3.71 2.25L9.5 13.5c-.42-.73-1.21-1.25-2.12-1.25c-1.32 0-2.38 1.06-2.38 2.38c0 1.27 1 2.3 2.25 2.37z",harddisk:"M6 2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2m6 2a6 6 0 0 0-6 6c0 3.31 2.69 6 6.1 6l-.88-2.23a1.01 1.01 0 0 1 .37-1.37l.86-.5a1.01 1.01 0 0 1 1.37.37l1.92 2.42A5.98 5.98 0 0 0 18 10a6 6 0 0 0-6-6m0 5a1 1 0 0 1 1 1a1 1 0 0 1-1 1a1 1 0 0 1-1-1a1 1 0 0 1 1-1m-5 9a1 1 0 0 0-1 1a1 1 0 0 0 1 1a1 1 0 0 0 1-1a1 1 0 0 0-1-1m5.09-4.73l2.49 6.31l2.59-1.5l-4.22-5.31z",lan:"M10 2c-1.11 0-2 .89-2 2v3c0 1.11.89 2 2 2h1v2H2v2h4v2H5c-1.11 0-2 .89-2 2v3c0 1.11.89 2 2 2h4c1.11 0 2-.89 2-2v-3c0-1.11-.89-2-2-2H8v-2h8v2h-1c-1.11 0-2 .89-2 2v3c0 1.11.89 2 2 2h4c1.11 0 2-.89 2-2v-3c0-1.11-.89-2-2-2h-1v-2h4v-2h-9V9h1c1.11 0 2-.89 2-2V4c0-1.11-.89-2-2-2zm0 2h4v3h-4zM5 17h4v3H5zm10 0h4v3h-4z",lock:"M12 17a2 2 0 0 0 2-2a2 2 0 0 0-2-2a2 2 0 0 0-2 2a2 2 0 0 0 2 2m6-9a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2h1V6a5 5 0 0 1 5-5a5 5 0 0 1 5 5v2zm-6-5a3 3 0 0 0-3 3v2h6V6a3 3 0 0 0-3-3",memory:"M17 17H7V7h10m4 4V9h-2V7a2 2 0 0 0-2-2h-2V3h-2v2h-2V3H9v2H7c-1.11 0-2 .89-2 2v2H3v2h2v2H3v2h2v2a2 2 0 0 0 2 2h2v2h2v-2h2v2h2v-2h2a2 2 0 0 0 2-2v-2h2v-2h-2v-2m-6 2h-2v-2h2m2-2H9v6h6z","message-processing":"M17 11h-2V9h2m-4 2h-2V9h2m-4 2H7V9h2m11-7H4a2 2 0 0 0-2 2v18l4-4h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2","microsoft-azure":"M13.05 4.24L6.56 18.05L2 18l5.09-8.76zm.7 1.09L22 19.76H6.74l9.3-1.66l-4.87-5.79z",monitor:"M21 16H3V4h18m0-2H3c-1.11 0-2 .89-2 2v12a2 2 0 0 0 2 2h7v2H8v2h8v-2h-2v-2h7a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2","queue-first-in-last-out":"M6 6h12v2H6zm0 4.5h12v2H6zM6 15h12v2H6zm3 4h6l-3 3zM9 2h6l-3 3z","router-network":"M5 9c-1.1 0-2 .9-2 2v4a2 2 0 0 0 2 2h6v2h-1c-.55 0-1 .45-1 1H2v2h7c0 .55.45 1 1 1h4c.55 0 1-.45 1-1h7v-2h-7c0-.55-.45-1-1-1h-1v-2h6c1.11 0 2-.89 2-2v-4a2 2 0 0 0-2-2zm1 3h2v2H6zm3.5 0h2v2h-2zm3.5 0h2v2h-2z",server:"M4 1h16a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1m0 8h16a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1m0 8h16a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1M9 5h1V3H9zm0 8h1v-2H9zm0 8h1v-2H9zM5 3v2h2V3zm0 8v2h2v-2zm0 8v2h2v-2z","shield-lock":"M12 1L3 5v6c0 5.55 3.84 10.74 9 12c5.16-1.26 9-6.45 9-12V5zm0 6c1.4 0 2.8 1.1 2.8 2.5V11c.6 0 1.2.6 1.2 1.3v3.5c0 .6-.6 1.2-1.3 1.2H9.2c-.6 0-1.2-.6-1.2-1.3v-3.5c0-.6.6-1.2 1.2-1.2V9.5C9.2 8.1 10.6 7 12 7m0 1.2c-.8 0-1.5.5-1.5 1.3V11h3V9.5c0-.8-.7-1.3-1.5-1.3",web:"M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10-10A10 10 0 0 0 12 2"}),v=Object.freeze({"logos:aws":"cloud","logos:aws-lambda":"function-variant","logos:aws-aurora":"database","logos:aws-glacier":"archive","logos:aws-s3":"harddisk","logos:aws-ec2":"server","logos:microsoft-azure":"microsoft-azure","logos:google-cloud":"google-cloud"}),r=/^[MmZzLlHhVvCcSsQqTtAa0-9eE+.,\s-]+$/,s=/^[a-z0-9][a-z0-9:_/-]*$/;function l(){let c=Object.entries(o);if(c.length>t.maxIcons)throw new Error("Architecture icon registry exceeds maxIcons");for(let[a,e]of c){if(a.length>t.maxNameBytes||!s.test(a))throw new Error(`Unsafe Architecture icon name: ${a}`);if(e.length>t.maxPathBytes||!r.test(e))throw new Error(`Unsafe or oversized Architecture icon path: ${a}`)}}l();function n(c){let a=c.trim().toLowerCase();if(!a||a.length>t.maxNameBytes||!s.test(a))return;let e=v[a];if(e)return e;let h=a.startsWith("mdi:")||a.startsWith("mdi/")?a.slice(4):a;if(!(h.includes(":")||h.includes("/")))return Object.prototype.hasOwnProperty.call(o,h)?h:void 0}function i(c){let a=n(c);return a?{canonicalName:`mdi:${a}`,viewBox:"0 0 24 24",path:o[a],source:"@iconify-json/mdi@1.2.3",license:"Apache-2.0"}:null}export{i as a};
@@ -0,0 +1,3 @@
1
+ import{d as k}from"./chunk-KJVNXJ5Y.js";import{f as S}from"./chunk-P7HMSKHJ.js";var w={schemaVersion:1,provenance:{version:"11.16.0",commit:"f3dea58385fd5c7dd1f4e9c9c1876751ae6943cc",inventorySha256:"743517bef84810c6e8afc8b470b801b8cc4a1687445037bd42cc6079f57a3b59"},families:[{id:"flowchart",label:"Flowchart",source:"core",maturity:"stable",upstreamDetectorIds:["flowchart-v2","flowchart","flowchart-elk"],headers:[{value:"flowchart",agenticStatus:"native"},{value:"graph",agenticStatus:"native"},{value:"flowchart-elk",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/flowchart.md",url:"https://mermaid.ai/open-source/syntax/flowchart.html",artifact:"official-doc:flowchart"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"swimlane",label:"Swimlanes",source:"core",maturity:"beta",upstreamDetectorIds:["swimlane"],headers:[{value:"swimlane-beta",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/swimlanes.md",url:"https://mermaid.ai/open-source/syntax/swimlanes.html",artifact:"official-doc:swimlane"},lifecycle:{introduction:{status:"declared",version:"11.16.0",evidence:"official-title"},deprecation:{status:"not-declared"}}},{id:"sequence",label:"Sequence",source:"core",maturity:"stable",upstreamDetectorIds:["sequence"],headers:[{value:"sequenceDiagram",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/sequenceDiagram.md",url:"https://mermaid.ai/open-source/syntax/sequenceDiagram.html",artifact:"official-doc:sequence"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"class",label:"Class",source:"core",maturity:"stable",upstreamDetectorIds:["classDiagram","class"],headers:[{value:"classDiagram",agenticStatus:"native"},{value:"classDiagram-v2",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/classDiagram.md",url:"https://mermaid.ai/open-source/syntax/classDiagram.html",artifact:"official-doc:class"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"state",label:"State",source:"core",maturity:"stable",upstreamDetectorIds:["stateDiagram","state"],headers:[{value:"stateDiagram",agenticStatus:"native"},{value:"stateDiagram-v2",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/stateDiagram.md",url:"https://mermaid.ai/open-source/syntax/stateDiagram.html",artifact:"official-doc:state"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"er",label:"Entity Relationship",source:"core",maturity:"stable",upstreamDetectorIds:["er"],headers:[{value:"erDiagram",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/entityRelationshipDiagram.md",url:"https://mermaid.ai/open-source/syntax/entityRelationshipDiagram.html",artifact:"official-doc:er"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"journey",label:"User Journey",source:"core",maturity:"stable",upstreamDetectorIds:["journey"],headers:[{value:"journey",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/userJourney.md",url:"https://mermaid.ai/open-source/syntax/userJourney.html",artifact:"official-doc:journey"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"gantt",label:"Gantt",source:"core",maturity:"stable",upstreamDetectorIds:["gantt"],headers:[{value:"gantt",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/gantt.md",url:"https://mermaid.ai/open-source/syntax/gantt.html",artifact:"official-doc:gantt"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"pie",label:"Pie",source:"core",maturity:"stable",upstreamDetectorIds:["pie"],headers:[{value:"pie",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/pie.md",url:"https://mermaid.ai/open-source/syntax/pie.html",artifact:"official-doc:pie"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"quadrant",label:"Quadrant",source:"core",maturity:"stable",upstreamDetectorIds:["quadrantChart"],headers:[{value:"quadrantChart",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/quadrantChart.md",url:"https://mermaid.ai/open-source/syntax/quadrantChart.html",artifact:"official-doc:quadrant"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"requirement",label:"Requirement",source:"core",maturity:"stable",upstreamDetectorIds:["requirement"],headers:[{value:"requirementDiagram",agenticStatus:"unsupported"},{value:"requirement",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/requirementDiagram.md",url:"https://mermaid.ai/open-source/syntax/requirementDiagram.html",artifact:"official-doc:requirement"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"gitgraph",label:"GitGraph",source:"core",maturity:"stable",upstreamDetectorIds:["gitGraph"],headers:[{value:"gitGraph",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/gitgraph.md",url:"https://mermaid.ai/open-source/syntax/gitgraph.html",artifact:"official-doc:gitgraph"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"c4",label:"C4",source:"core",maturity:"experimental",upstreamDetectorIds:["c4"],headers:[{value:"C4Context",agenticStatus:"inventory-only"},{value:"C4Container",agenticStatus:"inventory-only"},{value:"C4Component",agenticStatus:"inventory-only"},{value:"C4Dynamic",agenticStatus:"inventory-only"},{value:"C4Deployment",agenticStatus:"inventory-only"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/c4.md",url:"https://mermaid.ai/open-source/syntax/c4.html",artifact:"official-doc:c4"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"mindmap",label:"Mindmap",source:"core",maturity:"stable",upstreamDetectorIds:["mindmap"],headers:[{value:"mindmap",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/mindmap.md",url:"https://mermaid.ai/open-source/syntax/mindmap.html",artifact:"official-doc:mindmap"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"timeline",label:"Timeline",source:"core",maturity:"experimental",upstreamDetectorIds:["timeline"],headers:[{value:"timeline",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/timeline.md",url:"https://mermaid.ai/open-source/syntax/timeline.html",artifact:"official-doc:timeline"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"zenuml",label:"ZenUML",source:"external-first-party",maturity:"experimental",upstreamDetectorIds:["zenuml"],headers:[{value:"zenuml",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/zenuml.md",url:"https://mermaid.ai/open-source/syntax/zenuml.html",artifact:"official-doc:zenuml"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"sankey",label:"Sankey",source:"core",maturity:"stable",upstreamDetectorIds:["sankey"],headers:[{value:"sankey",agenticStatus:"unsupported"},{value:"sankey-beta",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/sankey.md",url:"https://mermaid.ai/open-source/syntax/sankey.html",artifact:"official-doc:sankey"},lifecycle:{introduction:{status:"declared",version:"10.3.0",evidence:"official-title"},deprecation:{status:"not-declared"}}},{id:"xychart",label:"XY Chart",source:"core",maturity:"stable",upstreamDetectorIds:["xychart"],headers:[{value:"xychart",agenticStatus:"native"},{value:"xychart-beta",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/xyChart.md",url:"https://mermaid.ai/open-source/syntax/xyChart.html",artifact:"official-doc:xychart"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"block",label:"Block",source:"core",maturity:"stable",upstreamDetectorIds:["block"],headers:[{value:"block",agenticStatus:"unsupported"},{value:"block-beta",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/block.md",url:"https://mermaid.ai/open-source/syntax/block.html",artifact:"official-doc:block"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"packet",label:"Packet",source:"core",maturity:"stable",upstreamDetectorIds:["packet"],headers:[{value:"packet",agenticStatus:"unsupported"},{value:"packet-beta",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/packet.md",url:"https://mermaid.ai/open-source/syntax/packet.html",artifact:"official-doc:packet"},lifecycle:{introduction:{status:"declared",version:"11.0.0",evidence:"official-title"},deprecation:{status:"not-declared"}}},{id:"kanban",label:"Kanban",source:"core",maturity:"stable",upstreamDetectorIds:["kanban"],headers:[{value:"kanban",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/kanban.md",url:"https://mermaid.ai/open-source/syntax/kanban.html",artifact:"official-doc:kanban"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"architecture",label:"Architecture",source:"core",maturity:"stable",upstreamDetectorIds:["architecture"],headers:[{value:"architecture",agenticStatus:"native"},{value:"architecture-beta",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/architecture.md",url:"https://mermaid.ai/open-source/syntax/architecture.html",artifact:"official-doc:architecture"},lifecycle:{introduction:{status:"declared",version:"11.1.0",evidence:"official-title"},deprecation:{status:"not-declared"}}},{id:"radar",label:"Radar",source:"core",maturity:"beta",upstreamDetectorIds:["radar"],headers:[{value:"radar-beta",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/radar.md",url:"https://mermaid.ai/open-source/syntax/radar.html",artifact:"official-doc:radar"},lifecycle:{introduction:{status:"declared",version:"11.6.0",evidence:"official-title"},deprecation:{status:"not-declared"}}},{id:"eventmodeling",label:"Event Modeling",source:"core",maturity:"experimental",upstreamDetectorIds:["eventmodeling"],headers:[{value:"eventmodeling",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/eventmodeling.md",url:"https://mermaid.ai/open-source/syntax/eventmodeling.html",artifact:"official-doc:eventmodeling"},lifecycle:{introduction:{status:"declared",version:"11.15.0",evidence:"official-title"},deprecation:{status:"not-declared"}}},{id:"treemap",label:"Treemap",source:"core",maturity:"stable",upstreamDetectorIds:["treemap"],headers:[{value:"treemap",agenticStatus:"unsupported"},{value:"treemap-beta",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/treemap.md",url:"https://mermaid.ai/open-source/syntax/treemap.html",artifact:"official-doc:treemap"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"venn",label:"Venn",source:"core",maturity:"beta",upstreamDetectorIds:["venn"],headers:[{value:"venn-beta",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/venn.md",url:"https://mermaid.ai/open-source/syntax/venn.html",artifact:"official-doc:venn"},lifecycle:{introduction:{status:"declared",version:"11.12.3",evidence:"official-title"},deprecation:{status:"not-declared"}}},{id:"ishikawa",label:"Ishikawa",source:"core",maturity:"stable",upstreamDetectorIds:["ishikawa"],headers:[{value:"ishikawa",agenticStatus:"unsupported"},{value:"ishikawa-beta",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/ishikawa.md",url:"https://mermaid.ai/open-source/syntax/ishikawa.html",artifact:"official-doc:ishikawa"},lifecycle:{introduction:{status:"declared",version:"11.12.3",evidence:"official-title"},deprecation:{status:"not-declared"}}},{id:"wardley",label:"Wardley",source:"core",maturity:"beta",upstreamDetectorIds:["wardley"],headers:[{value:"wardley-beta",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/wardley.md",url:"https://mermaid.ai/open-source/syntax/wardley.html",artifact:"official-doc:wardley"},lifecycle:{introduction:{status:"declared",version:"11.14.0",evidence:"official-title"},deprecation:{status:"not-declared"}}},{id:"cynefin",label:"Cynefin",source:"core",maturity:"beta",upstreamDetectorIds:["cynefin"],headers:[{value:"cynefin-beta",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/cynefin.md",url:"https://mermaid.ai/open-source/syntax/cynefin.html",artifact:"official-doc:cynefin"},lifecycle:{introduction:{status:"declared",version:"11.16.0",evidence:"official-title"},deprecation:{status:"not-declared"}}},{id:"treeview",label:"TreeView",source:"core",maturity:"beta",upstreamDetectorIds:["treeView"],headers:[{value:"treeView-beta",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/treeView.md",url:"https://mermaid.ai/open-source/syntax/treeView.html",artifact:"official-doc:treeview"},lifecycle:{introduction:{status:"declared",version:"11.14.0",evidence:"official-title"},deprecation:{status:"not-declared"}}},{id:"railroad",label:"Railroad",source:"core",maturity:"beta",upstreamDetectorIds:["railroad","railroadEbnf","railroadAbnf","railroadPeg"],headers:[{value:"railroad-beta",agenticStatus:"unsupported"},{value:"railroad-ebnf-beta",agenticStatus:"unsupported"},{value:"railroad-abnf-beta",agenticStatus:"unsupported"},{value:"railroad-peg-beta",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/railroad.md",url:"https://mermaid.ai/open-source/syntax/railroad.html",artifact:"official-doc:railroad"},lifecycle:{introduction:{status:"declared",version:"11.16.0",evidence:"official-title"},deprecation:{status:"not-declared"}}}]};var g=w;function F(e){return(e.split(";")[0]??"").trim().toLowerCase()}function M(e,t){let a=t.trim().toLowerCase();if(e===a)return!0;if(!e.startsWith(a))return!1;let i=e[a.length];return i!==void 0&&/[\s:]/.test(i)}function b(e,t=g){let a=F(e);return t.families.flatMap(r=>r.headers.map(s=>({family:r,header:s}))).sort((r,s)=>s.header.value.length-r.header.value.length||S(r.family.id,s.family.id)).find(r=>M(a,r.header.value))??null}function I(e,t="strict"){let a=k(e,t);if(a)return{kind:"registered",family:a};let i=b(e);return i?{kind:"upstream",match:i}:{kind:"unknown",header:e}}function f(e){let t=[0];for(let a=0;a<e.length;a++)e.charCodeAt(a)===10&&t.push(a+1);return t}function x(e,t){let a=0,i=e.length;for(;a<i;){let s=a+Math.floor((i-a)/2);e[s]<=t?a=s+1:i=s}let r=Math.max(0,a-1);return Object.freeze({offset:t,line:r+1,col:t-e[r]+1})}function p(e,t,a){return Object.freeze({start:x(e,t),end:x(e,a)})}function h(e,t,a=0,i=f(e)){let r=[],s=new RegExp(t.source,t.flags.includes("g")?t.flags:`${t.flags}g`),n;for(;(n=s.exec(e))!==null;)r.push(p(i,a+n.index,a+n.index+n[0].length)),n[0].length===0&&s.lastIndex++;return Object.freeze(r)}function C(e,t,a=f(e)){let i=e.slice(t),r=h(i,/^[ \t]*accDescr\s*:?\s*\{[\s\S]*?\}/gmi,t,a),s=h(i,/^[ \t]*(?:accTitle(?:\s*:\s*|\s+).*|accDescr(?!\s*:?\s*\{)(?:\s*:\s*|\s+).*)(?:\r?\n|$)/gmi,t,a),n=0,l=[];for(let u of s){for(;r[n]&&r[n].end.offset<=u.start.offset;)n++;let m=r[n];m&&u.start.offset>=m.start.offset&&u.end.offset<=m.end.offset||l.push(u)}let c=[],o=0,d=0;for(;o<r.length||d<l.length;)d>=l.length||o<r.length&&r[o].start.offset<=l[d].start.offset?c.push(r[o++]):c.push(l[d++]);return Object.freeze(c)}function E(e,t,a=f(e)){let i=e.match(/^\uFEFF?\s*---\s*\r?\n[\s\S]*?\r?\n\s*---\s*(?:\r?\n|$)/),r=i?i.index+i[0].length:0,s=h(e.slice(r),/^[ \t]*%%\{\s*(?:init|initialize)\s*:[\s\S]*?\}\s*%%[ \t]*(?:\r?\n|$)/gmi,r,a),n=C(e,t,a);return{...i?{frontmatter:p(a,i.index,i.index+i[0].length)}:{},...s.length>0?{initDirectives:s}:{},...n.length>0?{accessibilityDirectives:Object.freeze(n)}:{}}}function D(e,t,a=0){let i=f(e),r=-1,s=-1,n=e.length,l=Math.max(0,Math.min(e.length,a)),c=l;for(;c<=e.length;){let o=e.indexOf(`
2
+ `,c),d=o<0?e.length:o,u=e.slice(c,d).replace(/\r$/,""),m=u.trim();if(m===t||m.startsWith(t)&&/^\s*;/.test(m.slice(t.length))){let v=u.indexOf(t);if(r=c+v,s=r+t.length,m===t)n=o<0?e.length:o+1;else for(n=u.indexOf(";",v+t.length)+1;n<d&&/[ \t]/.test(e[n]);)n++;break}if(o<0)break;c=o+1}if(r<0){let o=e.indexOf(t,l);r=o<0?l:o,s=Math.min(e.length,r+t.length);let d=e.indexOf(`
3
+ `,s);for(n=d<0?e.length:d+1,c=r;c>0&&e.charCodeAt(c-1)!==10;)c--}return Object.freeze({source:p(i,0,e.length),...c>0?{wrapper:p(i,0,c)}:{},...E(e,n,i),header:p(i,r,s),body:p(i,n,e.length)})}function L(e,t="strict"){let a=I(e,t);return a.kind==="registered"?{kind:"registered",familyId:a.family.id}:a}function R(e,t,a=0,i){let r=g.provenance.version;if(e.kind==="unknown")return{code:"UNKNOWN_HEADER",message:`Unrecognized Mermaid header: "${e.header}"`,line:1,preservation:{version:1,classification:"unknown",source:t,header:e.header,mermaidVersion:r,spans:D(t,i??e.header,a)},help:"Check for a Mermaid upgrade or register a namespaced family descriptor; the source was preserved unchanged."};let{family:s,header:n}=e.match,l=n.agenticStatus==="inventory-only"?"inventory-only":"unsupported",c=n.agenticStatus==="native";return{code:c?"FAMILY_DESCRIPTOR_MISMATCH":"UNSUPPORTED_FAMILY",message:c?`Mermaid ${r} header "${n.value}" is marked native but no installed family descriptor claimed it`:`Mermaid ${r} family "${s.id}" is ${l} in Agentic Mermaid`,line:1,preservation:{version:1,classification:l,source:t,header:n.value,upstreamFamilyId:s.id,mermaidVersion:r,spans:D(t,i??n.value,a)},help:c?"Report a descriptor/manifest mismatch; the source was preserved unchanged.":`Install a family descriptor for "${n.value}" or use a currently native family; the source was preserved unchanged.`}}var y=class extends Error{name="MermaidFamilyDetectionError";code;line;preservation;help;constructor(t){super(t.message),this.code=t.code,this.line=t.line,this.preservation=t.preservation,this.help=t.help}toJSON(){return{code:this.code,message:this.message,line:this.line,preservation:this.preservation,help:this.help}}};function T(e,t,a="strict",i=0,r){let s=I(e,a);if(s.kind==="registered")return s.family;throw new y(R(s,t,i,r))}export{L as a,T as b};
@@ -0,0 +1,7 @@
1
+ import{a as h,f as a}from"./chunk-RVO6J7S3.js";import{N as c}from"./chunk-FXBBGAMJ.js";var i={fontSize:15,fontWeight:500,height:32,padX:14,offsetY:12,rx:8,minY:4,pointerSize:6};function n(t){return(Math.round(t*100)/100).toString()}function Y(t,e,$,s){let p=h(s,i.fontSize,i.fontWeight)+i.padX*2,l=e-p/2,o=$-i.offsetY-i.height,r=o+i.height;o<i.minY&&(o=i.minY,r=o+i.height);let m=e,f=o+i.height/2,g=i.pointerSize,u=`M${n(e-g)},${n(r)} L${n(e+g)},${n(r)} L${n(e)},${n(r+g)} Z`;return`<g class="${t}-tip"><rect x="${n(l)}" y="${n(o)}" width="${n(p)}" height="${i.height}" rx="${i.rx}" class="${t}-tip ${t}-tip-bg"/><path d="${u}" class="${t}-tip ${t}-tip-ptr"/><text x="${n(m)}" y="${n(f)}" text-anchor="middle" dy="${a}" class="${t}-tip ${t}-tip-text">${c(s)}</text></g>`}function W(t,e){let $=e.map(s=>`.${s}:hover .${t}-tip`).join(`,
2
+ `);return`
3
+ .${t}-tip { opacity: 0; pointer-events: none; }
4
+ .${t}-tip-bg { fill: var(--_text); }
5
+ .${t}-tip-text { fill: var(--bg); font-size: ${i.fontSize}px; font-weight: ${i.fontWeight}; }
6
+ .${t}-tip-ptr { fill: var(--_text); }
7
+ ${$} { opacity: 1; }`}export{Y as a,W as b};
@@ -0,0 +1 @@
1
+ function l(o){let i=[],t=0,n=0,r=!1;for(let e=0;e<o.length;e++){let s=o[e];if(r){r=!1;continue}if(s==="\\"){r=!0;continue}s==="("?t++:s===")"?t=Math.max(0,t-1):s===","&&t===0&&(i.push(o.slice(n,e)),n=e+1)}return i.push(o.slice(n)),i.map(e=>e.replace(/\\,/g,","))}function a(o){let i=o.replace(/;\s*$/,""),t={};for(let n of l(i)){let r=n.indexOf(":");if(r<=0)continue;let e=n.slice(0,r).trim(),s=n.slice(r+1).trim();e&&s&&(t[e]=s)}return t}export{a};
@@ -0,0 +1,9 @@
1
+ import{a as he,b as fe,d as ue,e as ge}from"./chunk-HZ4ADQMK.js";import"./chunk-GRXCKTHX.js";import"./chunk-CTVVJPMX.js";import{a as Y}from"./chunk-WEUWIFG3.js";import"./chunk-A7L4WWVW.js";import"./chunk-PXRUFH7U.js";import"./chunk-KJVNXJ5Y.js";import{a as K}from"./chunk-M6BT2HIP.js";import"./chunk-FFOHLPDA.js";import{a as me}from"./chunk-I6VE56S7.js";import{a as pe}from"./chunk-OFRMKQA6.js";import{b as U,c as Z,e as J}from"./chunk-FLD63DXE.js";import{e as te,f as X,j as E,k as ie}from"./chunk-RVO6J7S3.js";import{a as Q,b as V,c as ee}from"./chunk-EPFMQPXX.js";import{G as ne,H as re,I as oe,L as A,N as se,O as m,P,fa as q,ia as F,ja as O,ka as M,la as N,na as ae,oa as ce,pa as G,qa as le,xa as de}from"./chunk-FXBBGAMJ.js";import"./chunk-P7HMSKHJ.js";var ze=Object.freeze({id:"class",upstreamId:"classDiagram",maturity:"stable",label:"Class",headers:["classDiagram"],aliases:[],config:{section:"class",keys:["nodeSpacing","rankSpacing","titleTopMargin","arrowMarkerAbsolute","dividerMargin","padding","textHeight","defaultRenderer","diagramPadding","htmlLabels","hideEmptyMembersBox","hierarchicalNamespaces"],noopKeys:["arrowMarkerAbsolute","defaultRenderer","diagramPadding","dividerMargin","hideEmptyMembersBox","htmlLabels","padding","textHeight","titleTopMargin"]},identity:{id:"family:class",kind:"family",version:"1.0.0",compatibility:{core:"^0.3.0"},provenance:{owner:"agentic-mermaid",source:"built-in"}},collisionPriority:100,semanticChannels:[],semanticRoles:["prelude","defs","chrome","group","group-header","class-box","member","relationship","cardinality","note","label"],scenePrimitiveEvidence:[{role:"prelude",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"defs",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"defs",primitive:"marker",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"chrome",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"chrome",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"group",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"group",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"group-header",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"group-header",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"class-box",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"class-box",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"member",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"relationship",primitive:"connector",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"cardinality",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"note",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"note",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"label",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]}],example:`classDiagram
2
+ class Account {
3
+ +id: string
4
+ +close() void
5
+ }
6
+ Account <|-- Savings
7
+ Account "1" o-- "*" Transaction : logs`,detect:e=>/^classdiagram\s*$/.test(e),detectLoose:e=>/^classdiagram(?:\s|$)/.test(e)}),ye=ze;var Ae=/^namespace\s+([\w$]+(?:\.[\w$]+)*)(?:\s*\[\s*"?([^\]"]*)"?\s*\])?\s*\{$/;function ke(e){let t=e.match(Ae);return t?{path:t[1].split("."),label:t[2]||void 0}:null}function Te(e){let t=e.match(/^(namespace\s+.+?)\s*\{\s*([^{}]*)\s*\}$/);if(!t)return[e];let i=`${t[1]} {`;if(!ke(i))return[e];let n=t[2].split(";").map(a=>a.trim()).filter(Boolean);return[i,...n,"}"]}var Me=/^class\s+(`[^`]+`|[\w$]+)(?:\s*~([^~]+)~)?(?:\s*\[\s*"([^"]*)"\s*\])?(?:\s+as\s+"([^"]+)")?(?:\s+~([^~]+)~)?\s*(\{)?\s*$/;function Ne(e){let t=e.match(Me);if(!t)return null;let i=t[1];return{id:i.startsWith("`")?i.slice(1,-1):i,generic:(t[2]??t[5])?.trim(),label:t[3]??t[4],opensBody:t[6]==="{"}}function _(e){let t=e.trim().match(/^(`[^`]+`|[\w$]+)(?:~([^~]+)~)?$/);if(!t)return null;let i=t[1];return{id:i.startsWith("`")?i.slice(1,-1):i,generic:t[2]?.trim()||void 0}}function De(e){let t=e.match(/^(?:click|link)\s+(`[^`]+`(?:~[^~]+~)?|[\w$]+(?:~[^~]+~)?)\s+(?:href\s+)?(?:"((?:\\.|[^"])*)"|(https?:\/\/\S+|mailto:\S+))/i);if(!t)return null;let i=_(t[1]),n=(t[2]??t[3]??"").replace(/\\(["\\])/g,"$1");return i&&/^(?:https?:|mailto:)/i.test(n)?{...i,href:n}:null}function xe(e){let t=U(e);Z(t),e=t.familyLines.flatMap(Te);let i={classes:[],classDefs:new Map,relationships:[],notes:[],namespaces:[],...t.accessibility.title!==void 0?{accessibilityTitle:A(t.accessibility.title)}:{},...t.accessibility.descr!==void 0?{accessibilityDescription:A(t.accessibility.descr)}:{}},n=new Map,a=new Map,r=[],o=[],s=new Set,g=(k,f)=>{let $=o.join("."),b=r.length>0?r[r.length-1].children:i.namespaces,u;for(let l of k){let h=$?`${$}.${l}`:l;u=a.get(h),u||(u={name:l,classIds:[],children:[]},a.set(h,u),b.push(u)),$=h,b=u.children,o.push(l),r.push(u)}return f&&u&&(u.label=f),u},c=k=>{r.length===0||s.has(k)||(s.add(k),r[r.length-1].classIds.push(k))},y=null,v=0,S=[];for(let k=1;k<e.length;k++){let f=e[k];if(y&&v>0){if(f==="}"){v--,v===0&&(y=null);continue}let p=f.match(/^<<(\w+)>>$/);if(p){y.annotation=p[1];continue}let d=$e(f);d&&(d.isMethod?y.methods.push(d.member):y.attributes.push(d.member));continue}let $=De(f);if($){T(n,$.id,$.generic).href=$.href;continue}let b=f.match(/^note(?:\s+for\s+(\S+))?\s+"((?:\\.|[^"\\])*)"\s*$/i);if(b){let p=b[1]?_(b[1]):null;b[1]&&p&&T(n,p.id,p.generic),i.notes.push({text:b[2].replace(/\\(["\\])/g,"$1"),...p?{for:p.id}:{}});continue}let u=ge(f);if(u){i.direction=u;continue}let l=ke(f);if(l){g(l.path,l.label),S.push(l.path.length);continue}if(f==="}"&&S.length>0){let p=S.pop();r.length-=p,o.length-=p;continue}let h=f.match(/^classDef\s+([\w,-]+)\s+(.+)$/);if(h){let p=Y(h[2]);for(let d of h[1].split(",").map(x=>x.trim()).filter(Boolean))i.classDefs.set(d,{...p});continue}let C=f.match(/^(?:class|cssClass)\s+(.+?)\s+([\w-]+)$/);if(C&&!f.includes("{")&&!f.includes("[")&&!f.includes(" as ")){let p=C[1].replace(/^"|"$/g,"").split(",").map(d=>_(d.trim())).filter(d=>d!==null);if(p.length>0){for(let d of p){let x=T(n,d.id,d.generic);x.className=C[2],c(x.id)}continue}}let W=f.match(/^style\s+(.+?)\s+(.+)$/);if(W){let p=W[1].replace(/^"|"$/g,"").split(",").map(x=>_(x.trim())).filter(x=>x!==null),d=Y(W[2]);if(p.length>0&&Object.keys(d).length>0){for(let x of p){let w=T(n,x.id,x.generic);w.inlineStyle={...w.inlineStyle,...d},c(w.id)}continue}}let R=Ne(f);if(R){let p=T(n,R.id,R.generic);R.label!==void 0&&(p.label=A(R.label)),R.opensBody&&(y=p,v=1),c(R.id);continue}let L=f.match(/^class\s+(\S+?)\s*\{\s*<<(\w+)>>\s*\}$/);if(L){let p=_(L[1]);if(!p)continue;let d=T(n,p.id,p.generic);d.annotation=L[2],c(d.id);continue}let B=f.match(/^(.+?):::([\w-]+)$/);if(B){let p=_(B[1]);if(p){let d=T(n,p.id,p.generic);d.className=B[2],c(p.id);continue}}let D=f.match(/^(\S+?)\s*:\s*(.+)$/);if(D){let p=D[2];if(!p.match(/<\|--|--|\*--|o--|-->|\.\.>|\.\.\|>/)){let d=_(D[1]);if(!d)continue;let x=T(n,d.id,d.generic),w=$e(p);w&&(w.isMethod?x.methods.push(w.member):x.attributes.push(w.member));continue}}let z=Pe(f);if(z){T(n,z.from,z.fromGeneric),T(n,z.to,z.toGeneric);let{fromGeneric:p,toGeneric:d,...x}=z;i.relationships.push(x);continue}}return i.classes=[...n.values()],i}function T(e,t,i){let n=e.get(t);return n?i&&!n.generic&&(n.generic=i,n.label===t&&(n.label=`${t}<${i}>`)):(n={id:t,label:i?`${t}<${i}>`:t,generic:i,attributes:[],methods:[]},e.set(t,n)),n}function $e(e){let t=e.trim().replace(/;$/,"");if(!t)return null;let i="",n=t;/^[+\-#~]/.test(n)&&(i=n[0],n=n.slice(1).trim());let a=n.match(/^(.+?)\(([^)]*)\)(?:\s*(.+))?$/);if(a){let y=a[1].trim(),v=a[2]?.trim()||void 0,S=a[3]?.trim(),k=y.endsWith("$")||n.includes("$"),f=y.endsWith("*")||n.includes("*");return{member:{visibility:i,name:y.replace(/[$*]$/,""),type:S||void 0,isStatic:k,isAbstract:f,isMethod:!0,params:v},isMethod:!0}}let r=n.split(/\s+/),o,s;r.length>=2?(s=r[0],o=r.slice(1).join(" ")):o=r[0]??n;let g=o.endsWith("$"),c=o.endsWith("*");return{member:{visibility:i,name:o.replace(/[$*]$/,""),type:s||void 0,isStatic:g,isAbstract:c,isMethod:!1},isMethod:!1}}function Pe(e){let t=e.match(/^(\S+?)\s+(\(\)--|--\(\))\s+(\S+?)(?:\s*:\s*(.+))?$/);if(t){let b=_(t[1]),u=_(t[3]);return!b||!u?null:{from:b.id,to:u.id,type:"lollipop",markerAt:t[2]==="()--"?"from":"to",...t[4]?.trim()?{label:A(t[4].trim())}:{},...b.generic?{fromGeneric:b.generic}:{},...u.generic?{toGeneric:u.generic}:{}}}let i=e.match(/^(\S+?)\s+(?:"([^"]*?)"\s+)?(<\||\*|o|<|>)(--|\.\.)(\|>|\*|o|>|<)\s+(?:"([^"]*?)"\s+)?(\S+?)(?:\s*:\s*(.+))?$/);if(i){let b=_(i[1]),u=_(i[7]);if(!b||!u)return null;let l=i[4]==="..",h=be(i[3],l),C=be(i[5],l);return{from:b.id,to:u.id,type:h,markerAt:"both",fromType:h,toType:C,...i[2]?{fromCardinality:A(i[2])}:{},...i[6]?{toCardinality:A(i[6])}:{},...i[8]?.trim()?{label:A(i[8].trim())}:{},...b.generic?{fromGeneric:b.generic}:{},...u.generic?{toGeneric:u.generic}:{}}}let n=e.match(/^(\S+?)\s+(?:"([^"]*?)"\s+)?(<\|--|<\|\.\.|\*--|o--|-->|--\*|--o|--\|>|\.\.>|\.\.\|>|<--|<\.\.?|--)\s+(?:"([^"]*?)"\s+)?(\S+?)(?:\s*:\s*(.+))?$/);if(!n)return null;let a=_(n[1]),r=_(n[5]);if(!a||!r)return null;let o=a.id,s=n[2],g=s?A(s):void 0,c=n[3].trim(),y=n[4],v=y?A(y):void 0,S=r.id,k=n[6]?.trim(),f=k?A(k):void 0,$=Fe(c);return $?{from:o,to:S,type:$.type,markerAt:$.markerAt,label:f,fromCardinality:g,toCardinality:v,...a.generic?{fromGeneric:a.generic}:{},...r.generic?{toGeneric:r.generic}:{}}:null}function be(e,t){return e==="*"?"composition":e==="o"?"aggregation":e.includes("|")?t?"realization":"inheritance":t?"dependency":"association"}function Fe(e){switch(e.trim()){case"<|--":return{type:"inheritance",markerAt:"from"};case"--|>":return{type:"inheritance",markerAt:"to"};case"<|..":return{type:"realization",markerAt:"from"};case"..|>":return{type:"realization",markerAt:"to"};case"*--":return{type:"composition",markerAt:"from"};case"--*":return{type:"composition",markerAt:"to"};case"o--":return{type:"aggregation",markerAt:"from"};case"--o":return{type:"aggregation",markerAt:"to"};case"-->":return{type:"association",markerAt:"to"};case"<--":return{type:"association",markerAt:"from"};case"..>":return{type:"dependency",markerAt:"to"};case"<..":return{type:"dependency",markerAt:"from"};case"--":return{type:"association",markerAt:"to"};default:return null}}var I={memberSize:11,memberWeight:400,annotationSize:10,annotationWeight:500};function _e(e){let{positioned:t,colors:i,resolved:n}=e,a=n.renderOptions,r=i.font??"Inter",o=a.transparent??!1,s=[],g=ie(a,he,n.styleFace),c=`class-${me(t.width,t.height,t.classes.length,t.relationships.length)}`,y=`${c}-title`,v=`${c}-desc`,S=pe(t.accessibilityTitle,t.accessibilityDescription,y,v);s.push(le({id:"prelude",width:t.width,height:t.height,colors:i,transparent:o,font:r,hasMonoFont:!0},oe(t.width,t.height,i,o,S)+`
8
+ `+re(r,!0,i.shadow,i.embedFontImport)));let k=[];k.push("<defs>");let f=we(g);k.push(de(f));let $=ne(i);$&&k.push($),k.push("</defs>"),s.push(ae({id:"defs",markerResources:f},k.join(`
9
+ `))),t.accessibilityTitle&&s.push(N({id:"title",role:"chrome"},`<title id="${y}">${H(t.accessibilityTitle)}</title>`)),t.accessibilityDescription&&s.push(N({id:"desc",role:"chrome"},`<desc id="${v}">${H(t.accessibilityDescription)}</desc>`));for(let l of t.namespaces)s.push(We(l,g));let b=new Map;for(let l of t.relationships){let h=`${l.from}->${l.to}`,C=b.get(h)??0;b.set(h,C+1),s.push(Ie(l,g,`rel:${h}#${C}`))}for(let l of t.classes)s.push(Le(l,g,a.security!=="strict"));t.relationships.forEach((l,h)=>{s.push(He(l,g,h))});for(let l=0;l<t.notes.length;l++)s.push(Be(t.notes[l],g,l));let u=new Map;for(let l of t.relationships){let h=`${l.from}->${l.to}`,C=u.get(h)??0;u.set(h,C+1),s.push(...Oe(l,g,`${h}#${C}`))}return s.push(ce()),{family:"class",width:t.width,height:t.height,colors:i,transparent:o,parts:s}}function we(e){let t=e.edgeStrokeColor??"var(--_arrow)",i=[{x:0,y:0},{x:12,y:5},{x:0,y:10}],n=[{x:7,y:1},{x:13,y:6},{x:7,y:11},{x:1,y:6}];return[{id:"cls-inherit",shape:"triangle",size:{width:12,height:10},ref:{x:12,y:5},orient:"auto-start-reverse",overflow:"visible",geometry:{kind:"polygon",points:i},paint:{fill:"var(--bg)",stroke:t,strokeWidth:"1.5"}},{id:"cls-composition",shape:"diamond",size:{width:14,height:12},viewBox:{x:0,y:0,width:14,height:12},ref:{x:13,y:6},orient:"auto-start-reverse",overflow:"hidden",geometry:{kind:"polygon",points:n},paint:{fill:t,stroke:t,strokeWidth:"1"}},{id:"cls-aggregation",shape:"diamond-open",size:{width:14,height:12},viewBox:{x:0,y:0,width:14,height:12},ref:{x:13,y:6},orient:"auto-start-reverse",overflow:"hidden",geometry:{kind:"polygon",points:n},paint:{fill:"var(--bg)",stroke:t,strokeWidth:"1.5"}},{id:"cls-arrow",shape:"open-arrow",size:{width:8,height:6},ref:{x:8,y:3},orient:"auto-start-reverse",overflow:"visible",geometry:{kind:"polyline",points:[{x:0,y:0},{x:8,y:3},{x:0,y:6}]},paint:{fill:"none",stroke:t,strokeWidth:"1.5"}},{id:"cls-lollipop",shape:"circle",size:{width:14,height:14},viewBox:{x:0,y:0,width:14,height:14},ref:{x:12,y:7},orient:"auto-start-reverse",overflow:"hidden",geometry:{kind:"circle",cx:7,cy:7,r:5},paint:{fill:"var(--bg)",stroke:t,strokeWidth:"1.5"}}]}function We(e,t){let i=[],n=`<g class="namespace" data-id="${m(e.id)}" data-label="${m(e.label)}"${e.parentId?` data-parent-id="${m(e.parentId)}"`:""}>`,a=t.groupFillColor??"var(--_group-fill)",r=t.groupBorderColor??"var(--_node-stroke)";i.push({indent:2,node:F({id:`namespace-rect:${e.id}`,role:"group",geometry:{kind:"rect",x:e.x,y:e.y,width:e.width,height:e.height,rx:t.groupCornerRadius,ry:t.groupCornerRadius},paint:{fill:a,stroke:r,strokeWidth:String(t.groupLineWidth)}},`<rect x="${e.x}" y="${e.y}" width="${e.width}" height="${e.height}" rx="${t.groupCornerRadius}" ry="${t.groupCornerRadius}" fill="${m(a)}" stroke="${m(r)}" stroke-width="${t.groupLineWidth}" />`)});let o=t.groupHeaderFillColor??"var(--_group-hdr)",s=K(e.x,e.y,e.width,e.headerHeight,t.groupCornerRadius);i.push({indent:2,node:F({id:`namespace-header:${e.id}`,role:"group-header",geometry:{kind:"path",d:s},paint:{fill:o,stroke:r,strokeWidth:String(t.groupLineWidth)}},`<path d="${s}" fill="${m(o)}" stroke="${m(r)}" stroke-width="${t.groupLineWidth}" />`)});let g=E(e.label,t.groupTextTransform),c=t.groupTextColor??"var(--_text-sec)";return i.push({indent:2,node:M({id:`namespace-label:${e.id}`,role:"group-header",text:g,x:e.x+t.groupLabelPaddingX,y:e.y+e.headerHeight/2,fontSize:t.groupHeaderFontSize,anchor:"start",paint:{fill:c}},P(g,e.x+t.groupLabelPaddingX,e.y+e.headerHeight/2,t.groupHeaderFontSize,`font-size="${t.groupHeaderFontSize}" font-weight="${t.groupHeaderFontWeight}"${t.groupFont?` font-family="${m(t.groupFont)}"`:""}${t.groupLetterSpacing!==0?` letter-spacing="${t.groupLetterSpacing}"`:""} fill="${m(c)}"`))}),G({id:`namespace:${e.id}`,role:"group",open:n,close:"</g>",children:i})}function Le(e,t,i){let{x:n,y:a,width:r,height:o,headerHeight:s,attrHeight:g}=e,c=[],y=e.annotation?` data-annotation="${m(e.annotation)}"`:"",v=e.className?` ${m(e.className)}`:"",S=e.className?` data-class="${m(e.className)}"`:"",k=i&&e.href?` data-href="${m(e.href)}" role="link" tabindex="0"`:"",f=`<g class="class-node${v}" data-id="${m(e.id)}" data-label="${m(e.label)}"${y}${S}${k}>`,$=e.inlineStyle??{},b=$.fill??t.nodeFillColor??"var(--_node-fill)",u=$.stroke??t.nodeBorderColor??"var(--_node-stroke)",l=Number.parseFloat($["stroke-width"]??""),h=Number.isFinite(l)&&l>0?l:t.nodeLineWidth;c.push({indent:2,node:F({id:`class:${e.id}:box`,role:"class-box",geometry:{kind:"rect",x:n,y:a,width:r,height:o,rx:t.cornerRadius??0,ry:t.cornerRadius??0},paint:{fill:b,stroke:u,strokeWidth:String(h)}},`<rect x="${n}" y="${a}" width="${r}" height="${o}" rx="${t.cornerRadius??0}" ry="${t.cornerRadius??0}" fill="${m(b)}" stroke="${m(u)}" stroke-width="${h}" />`)});let C=$.fill??t.groupHeaderFillColor??"var(--_group-hdr)",W=K(n,a,r,s,t.cornerRadius??0);c.push({indent:2,node:F({id:`class:${e.id}:header`,role:"group-header",geometry:{kind:"path",d:W},paint:{fill:C,stroke:u,strokeWidth:String(h)}},`<path d="${W}" fill="${m(C)}" stroke="${m(u)}" stroke-width="${h}" />`)});let R=a+s/2;if(e.annotation){let d=a+12,x=$.color??t.nodeTextColor??"var(--_text-muted)";c.push({indent:2,node:M({id:`class:${e.id}:annotation`,role:"label",text:`<<${e.annotation}>>`,x:n+r/2,y:d,fontSize:I.annotationSize,anchor:"middle",paint:{fill:x}},`<text x="${n+r/2}" y="${d}" text-anchor="middle" dy="${X}" font-size="${I.annotationSize}" font-weight="${I.annotationWeight}" font-style="italic" fill="${m(x)}">&lt;&lt;${H(e.annotation)}&gt;&gt;</text>`)}),R=a+s/2+6}let L=$.color??t.nodeTextColor??"var(--_text)",B=E(e.label,t.nodeTextTransform);c.push({indent:2,node:M({id:`class:${e.id}:name`,role:"label",text:B,x:n+r/2,y:R,fontSize:t.nodeLabelFontSize,anchor:"middle",paint:{fill:L}},P(B,n+r/2,R,t.nodeLabelFontSize,`text-anchor="middle" font-size="${t.nodeLabelFontSize}" font-weight="${t.nodeLabelFontWeight}"${Re(t.nodeLetterSpacing)} fill="${m(L)}"`))});let D=a+s;c.push({indent:2,node:ve(e.id,"attrs",n,D,r,t)});let z=20;for(let d=0;d<e.attributes.length;d++){let x=e.attributes[d],w=D+4+d*z+z/2;c.push({indent:2,node:Se(x,n+t.nodePaddingX,w,t,`member:${e.id}:${x.name}`)})}let p=D+g;c.push({indent:2,node:ve(e.id,"methods",n,p,r,t)});for(let d=0;d<e.methods.length;d++){let x=e.methods[d],w=p+4+d*z+z/2;c.push({indent:2,node:Se(x,n+t.nodePaddingX,w,t,`member:${e.id}:${x.name}`)})}return G({id:`class:${e.id}`,role:"class-box",open:f,close:"</g>",children:c})}function ve(e,t,i,n,a,r){let o=r.nodeBorderColor??"var(--_node-stroke)",s=Math.min(r.nodeLineWidth,te.innerBox);return F({id:`class:${e}:divider:${t}`,role:"chrome",geometry:{kind:"line",x1:i,y1:n,x2:i+a,y2:n},paint:{stroke:o,strokeWidth:String(s)}},`<line x1="${i}" y1="${n}" x2="${i+a}" y2="${n}" stroke="${m(o)}" stroke-width="${s}" />`)}function Se(e,t,i,n,a){let r=e.isAbstract?' font-style="italic"':"",o=e.isStatic?' text-decoration="underline"':"",s=[];e.visibility&&s.push(`<tspan fill="var(--_text-faint)">${H(e.visibility)} </tspan>`);let g=e.isMethod?`${e.name}(${e.params||""})`:e.name;s.push(`<tspan fill="${m(n.nodeTextColor??"var(--_text-sec)")}">${H(g)}</tspan>`),e.type&&(s.push('<tspan fill="var(--_text-faint)">: </tspan>'),s.push(`<tspan fill="var(--_text-muted)">${H(e.type)}</tspan>`));let c=`${e.visibility?`${e.visibility} `:""}${g}${e.type?`: ${e.type}`:""}`;return M({id:a,role:"member",text:c,x:t,y:i,fontSize:I.memberSize,anchor:"start",paint:{fill:n.nodeTextColor??"var(--_text-sec)"}},`<text x="${t}" y="${i}" class="mono" dy="${X}" font-size="${I.memberSize}" font-weight="${I.memberWeight}"${r}${o}>${s.join("")}</text>`)}function Be(e,t,i){let n=t.groupBorderColor??"var(--_node-stroke)",a=t.groupFillColor??"var(--_group-hdr)",r=t.groupTextColor??"var(--_text)",o=[];return e.targetX!==void 0&&e.targetY!==void 0&&o.push({node:O({id:`class-note:${i}:connector`,role:"relationship",geometry:{kind:"line",x1:e.targetX,y1:e.targetY,x2:e.noteX??e.x,y2:e.noteY??e.y+e.height/2},lineStyle:"dashed",paint:{stroke:n,strokeWidth:"1",strokeDasharray:"4 3"}},`<line class="class-note-connector" x1="${e.targetX}" y1="${e.targetY}" x2="${e.noteX??e.x}" y2="${e.noteY??e.y+e.height/2}" stroke="${m(n)}" stroke-width="1" stroke-dasharray="4 3" />`),indent:2}),o.push({node:F({id:`class-note:${i}:box`,role:"note",geometry:{kind:"rect",x:e.x,y:e.y,width:e.width,height:e.height,rx:2,ry:2},paint:{fill:a,stroke:n,strokeWidth:"1"}},`<rect x="${e.x}" y="${e.y}" width="${e.width}" height="${e.height}" rx="2" fill="${m(a)}" stroke="${m(n)}" />`),indent:2}),o.push({node:M({id:`class-note:${i}:label`,role:"label",text:e.text,x:e.x+e.width/2,y:e.y+e.height/2,fontSize:12,anchor:"middle",paint:{fill:r}},P(e.text,e.x+e.width/2,e.y+e.height/2,12,`text-anchor="middle" fill="${m(r)}"`)),indent:2}),G({id:`class-note:${i}`,role:"note",open:`<g class="class-note" data-note-index="${i}"${e.for?` data-for="${m(e.for)}"`:""}>`,close:"</g>",children:o})}function Ie(e,t,i){if(e.points.length<2)return O({id:i,role:"relationship",geometry:{kind:"polyline",points:e.points},lineStyle:"invisible",paint:{},endpoints:{from:e.from,to:e.to},relationship:{kind:e.type},labels:e.label?[{text:e.label,...e.labelPosition?{anchor:e.labelPosition}:{}}]:[]},"");let n=e.points.map(h=>`${h.x},${h.y}`).join(" "),a=e.type==="dependency"||e.type==="realization",r=a?' stroke-dasharray="6 4"':"",o=a?"dashed":"solid",s=e.markerAt==="from"||e.markerAt==="both"?e.fromType??e.type:void 0,g=e.markerAt==="to"||e.markerAt==="both"?e.toType??e.type:void 0,c=s?j(s):null,y=g?j(g):null,v=we(t),S=c?v.find(h=>h.id===c):void 0,k=y?v.find(h=>h.id===y):void 0,f=`${c?` marker-start="url(#${c})"`:""}${y?` marker-end="url(#${y})"`:""}`,$=['class="class-relationship"',`data-from="${m(e.from)}"`,`data-to="${m(e.to)}"`,`data-type="${e.type}"`,`data-relation-type="${e.type}"`,`data-marker-at="${e.markerAt}"`];e.label&&$.push(`data-label="${m(e.label)}"`),e.fromCardinality&&$.push(`data-from-cardinality="${m(e.fromCardinality)}"`),e.toCardinality&&$.push(`data-to-cardinality="${m(e.toCardinality)}"`);let b=t.edgeStrokeColor??"var(--_line)",u={stroke:b,strokeWidth:String(t.lineWidth),...a?{strokeDasharray:"6 4"}:{}},l={endpoints:{from:e.from,to:e.to},relationship:{kind:e.type},route:{ownership:"layout",bendRadius:t.edgeBendRadius,labelAnchors:e.labelPosition?[e.labelPosition]:[]},labels:e.label?[{text:e.label,...e.labelPosition?{anchor:e.labelPosition}:{}}]:[]};if(t.edgeBendRadius>0&&e.points.length>2){let h=q(e.points,t.edgeBendRadius,{metric:"manhattan",precision:3});return O({id:i,role:"relationship",geometry:h.geometry,lineStyle:o,paint:u,markers:{...S?{start:S}:{},mid:[],...k?{end:k}:{}},...l,route:{...l.route,contours:h.contours}},`<path ${$.join(" ")} d="${h.geometry.d}" fill="none" stroke="${m(b)}" stroke-width="${t.lineWidth}"${r}${f} />`)}return O({id:i,role:"relationship",geometry:{kind:"polyline",points:e.points},lineStyle:o,paint:u,markers:{...S?{start:S}:{},mid:[],...k?{end:k}:{}},...l},`<polyline ${$.join(" ")} points="${n}" fill="none" stroke="${m(b)}" stroke-width="${t.lineWidth}"${r}${f} />`)}function He(e,t,i){if(e.points.length<2)return N({id:`marker-overlay:${i}`,role:"chrome"},"");let n=e.markerAt==="from"||e.markerAt==="both"?e.fromType??e.type:void 0,a=e.markerAt==="to"||e.markerAt==="both"?e.toType??e.type:void 0,r=n?j(n):null,o=a?j(a):null;if(!r&&!o)return N({id:`marker-overlay:${i}`,role:"chrome"},"");let s=`${r?` marker-start="url(#${r})"`:""}${o?` marker-end="url(#${o})"`:""}`,g=`fill="none" stroke="${m(t.edgeStrokeColor??"var(--_line)")}" stroke-width="${t.lineWidth}" stroke-opacity="0"${s} pointer-events="none" aria-hidden="true"`;if(t.edgeBendRadius>0&&e.points.length>2){let y=q(e.points,t.edgeBendRadius,{metric:"manhattan",precision:3});return N({id:`marker-overlay:${i}`,role:"chrome"},`<path class="class-marker-overlay" d="${y.geometry.d}" ${g} />`)}let c=e.points.map(y=>`${y.x},${y.y}`).join(" ");return N({id:`marker-overlay:${i}`,role:"chrome"},`<polyline class="class-marker-overlay" points="${c}" ${g} />`)}function j(e){switch(e){case"inheritance":case"realization":return"cls-inherit";case"composition":return"cls-composition";case"aggregation":return"cls-aggregation";case"association":case"dependency":return"cls-arrow";case"lollipop":return"cls-lollipop";default:return null}}function Oe(e,t,i){if(!e.label&&!e.fromCardinality&&!e.toCardinality||e.points.length<2)return[N({id:`rel-labels:${i}`,role:"chrome"},"")];let n=[],a=t.edgeTextColor??"var(--_text-muted)",r=`font-size="${t.edgeLabelFontSize}" text-anchor="middle" font-weight="${t.edgeLabelFontWeight}"${Re(t.edgeLetterSpacing)} fill="${m(a)}"`;if(e.label){let o=e.labelPosition??Ee(e.points),s=E(e.label,t.edgeTextTransform);n.push(M({id:`rel-label:${i}`,role:"label",text:s,x:o.x,y:o.y-8,fontSize:t.edgeLabelFontSize,anchor:"middle",paint:{fill:a}},P(s,o.x,o.y-8,t.edgeLabelFontSize,r)))}if(e.fromCardinality){let o=e.points[0],s=e.points[1],g=Ce(o,s),c=e.fromCardinalityPosition??{x:o.x+g.x,y:o.y+g.y};n.push(M({id:`rel-card:${i}:from`,role:"cardinality",text:e.fromCardinality,x:c.x,y:c.y,fontSize:t.edgeLabelFontSize,anchor:"middle",paint:{fill:a}},P(e.fromCardinality,c.x,c.y,t.edgeLabelFontSize,r)))}if(e.toCardinality){let o=e.points[e.points.length-1],s=e.points[e.points.length-2],g=Ce(o,s),c=e.toCardinalityPosition??{x:o.x+g.x,y:o.y+g.y};n.push(M({id:`rel-card:${i}:to`,role:"cardinality",text:e.toCardinality,x:c.x,y:c.y,fontSize:t.edgeLabelFontSize,anchor:"middle",paint:{fill:a}},P(e.toCardinality,c.x,c.y,t.edgeLabelFontSize,r)))}return n}function Ee(e){if(e.length===0)return{x:0,y:0};let t=Math.floor(e.length/2);return e[t]}function Ce(e,t){let i=t.x-e.x,n=t.y-e.y;return Math.abs(i)>Math.abs(n)?{x:i>0?14:-14,y:-10}:{x:-14,y:n>0?14:-14}}function Re(e){return e!==0?` letter-spacing="${e}"`:""}var H=se;var yt=ee(ye,{normalizeRequest:e=>({renderOptions:fe(e.source.frontmatter,e.renderOptions)}),layout:e=>V(ue(J(xe(e.source.familyLines),e.source.accessibility),e.renderOptions,e.styleFace)),lowerScene:Q(_e)});export{yt as default};
@@ -0,0 +1,9 @@
1
+ import{c as it,e as Tt}from"./chunk-HZ4ADQMK.js";import"./chunk-GRXCKTHX.js";import{a as ft,b as bt}from"./chunk-CTVVJPMX.js";import{a as tt}from"./chunk-WEUWIFG3.js";import{d as dt}from"./chunk-A7L4WWVW.js";import"./chunk-PXRUFH7U.js";import"./chunk-KJVNXJ5Y.js";import{a as Et}from"./chunk-M6BT2HIP.js";import{e as K}from"./chunk-MMWVZP6M.js";import"./chunk-FFOHLPDA.js";import{a as vt}from"./chunk-I6VE56S7.js";import{a as _t}from"./chunk-OFRMKQA6.js";import{b as at,c as ct,e as lt}from"./chunk-FLD63DXE.js";import{a as A,b as mt,c as X,d as V,e as C,f as N,j as z,k as Y}from"./chunk-RVO6J7S3.js";import{a as pt,b as ht,c as yt}from"./chunk-EPFMQPXX.js";import{G as gt,H as ut,I as xt,L as O,N as $t,O as R,P as G,fa as kt,i as L,ia as P,ja as U,ka as F,la as et,na as St,oa as wt,pa as j,qa as Rt}from"./chunk-FXBBGAMJ.js";import"./chunk-P7HMSKHJ.js";var Bt=Object.freeze({id:"er",upstreamId:"er",maturity:"stable",label:"ER",headers:["erDiagram"],aliases:[],config:{section:"er",keys:["layoutDirection","nodeSpacing","rankSpacing","titleTopMargin","diagramPadding","minEntityWidth","minEntityHeight","entityPadding","stroke","fill","fontSize"],noopKeys:["diagramPadding","entityPadding","fill","fontSize","minEntityHeight","minEntityWidth","stroke","titleTopMargin"]},identity:{id:"family:er",kind:"family",version:"1.0.0",compatibility:{core:"^0.3.0"},provenance:{owner:"agentic-mermaid",source:"built-in"}},collisionPriority:100,semanticChannels:["category"],semanticRoles:["prelude","defs","chrome","group","group-header","entity","attribute","relationship","cardinality","label"],scenePrimitiveEvidence:[{role:"prelude",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"defs",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"chrome",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"chrome",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"group",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"group",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"group-header",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"entity",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"entity",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"attribute",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"attribute",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"relationship",primitive:"connector",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"cardinality",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"label",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]}],example:`erDiagram
2
+ CUSTOMER ||--o{ ORDER : places
3
+ ORDER {
4
+ string id
5
+ }`,detect:t=>/^erdiagram(?:\s+subgraph\b.*)?\s*$/.test(t),detectLoose:t=>/^erdiagram(?:\s|$)/.test(t)}),Mt=Bt;var _={padding:40,boxPadX:14,headerHeight:34,rowHeight:22,minWidth:140,attrFontSize:11,attrFontWeight:400,nodeSpacing:70,layerSpacing:90},nt={nodeLabelFontSize:X.nodeLabel,edgeLabelFontSize:X.edgeLabel,groupHeaderFontSize:X.groupHeader,nodeLabelFontWeight:700,edgeLabelFontWeight:V.edgeLabel,groupHeaderFontWeight:V.groupHeader,nodePaddingX:_.boxPadX,nodePaddingY:8,nodeCornerRadius:0,nodeLineWidth:C.outerBox,edgeLineWidth:C.connector,groupCornerRadius:0,groupPaddingX:_.boxPadX,groupPaddingY:8,groupLineWidth:C.outerBox};function Dt(t,e){if(!e)return t;let o=dt(e,["er","layoutDirection"]),i=typeof o=="string"&&/^(TB|TD|BT|LR|RL)$/i.test(o)?o.toUpperCase():void 0;return t.direction===void 0&&i!==void 0?{...t,direction:i}:t}function Pt(t,e){if(!t)return e;let o=it(t,"er","nodeSpacing"),i=it(t,"er","rankSpacing");return o===void 0&&i===void 0?e:{...e,nodeSpacing:e.nodeSpacing??o,layerSpacing:e.layerSpacing??i}}function At(t,e,o){let i=Y(e,nt,o),r=new Map;for(let a of t.entities){let l=z(a.label,i.nodeTextTransform),y=A(l,i.nodeLabelFontSize,i.nodeLabelFontWeight),d=0;for(let b of a.attributes){let f=`${b.type} ${b.name}${b.keys.length>0?" "+b.keys.join(","):""}`,n=mt(f,_.attrFontSize);n>d&&(d=n)}let c=Math.max(_.minWidth,y+i.nodePaddingX*2,d+i.nodePaddingX*2),x=Math.max(_.headerHeight,L(l,i.nodeLabelFontSize,i.nodeLabelFontWeight).height+i.nodePaddingY*2),g=x+Math.max(a.attributes.length,1)*_.rowHeight;r.set(a.id,{width:c,height:g,headerHeight:x})}let s={id:"root",layoutOptions:{"elk.algorithm":"layered","elk.direction":bt(t.direction??"LR"),"elk.spacing.nodeNode":String(e.nodeSpacing??_.nodeSpacing),"elk.layered.spacing.nodeNodeBetweenLayers":String(e.layerSpacing??_.layerSpacing),"elk.padding":`[top=${_.padding},left=${_.padding},bottom=${_.padding},right=${_.padding}]`,"elk.edgeRouting":"ORTHOGONAL","elk.edgeLabels.placement":"CENTER"},children:[],edges:[]};for(let a of t.entities){let l=r.get(a.id);s.children.push({id:a.id,width:l.width,height:l.height})}let h=new Set(t.entities.map(a=>a.id));for(let a=0;a<t.relationships.length;a++){let l=t.relationships[a];if(!h.has(l.entity1)||!h.has(l.entity2))continue;let y={id:`e${a}`,sources:[l.entity1],targets:[l.entity2]};if(l.label){let d=z(l.label,i.edgeTextTransform),c=L(d,i.edgeLabelFontSize,i.edgeLabelFontWeight);y.labels=[{text:d,width:c.width+8,height:c.height+6}]}s.edges.push(y)}return{elkGraph:s,entitySizes:r}}function Xt(t,e,o){let i=new Map;for(let n of e.entities)i.set(n.id,n);let r=[];for(let n of t.children??[]){let p=i.get(n.id);p&&r.push({id:p.id,label:p.label,attributes:p.attributes,x:n.x??0,y:n.y??0,width:n.width??o.get(p.id).width,height:n.height??o.get(p.id).height,headerHeight:o.get(p.id).headerHeight,rowHeight:_.rowHeight,...p.className?{className:p.className}:{},...p.className&&e.classDefs.get(p.className)||p.inlineStyle?{inlineStyle:{...p.className?e.classDefs.get(p.className):{},...p.inlineStyle}}:{},...p.groupId?{groupId:p.groupId}:{}})}let s=Yt(e,r),h=Gt(e,r),a=new Map;r.forEach(n=>a.set(n.id,n)),h.forEach(n=>a.set(n.id,n));let l=new Map((t.edges??[]).map(n=>[n.id,n])),y=[];for(let n=0;n<e.relationships.length;n++){let p=e.relationships[n],u=s.has(p.entity1)||s.has(p.entity2)?void 0:l.get(`e${n}`),m=[];if(u?.sections?.length){let $=u.sections[0];m.push({x:$.startPoint.x,y:$.startPoint.y});for(let S of $.bendPoints??[])m.push({x:S.x,y:S.y});m.push({x:$.endPoint.x,y:$.endPoint.y})}else{let $=a.get(p.entity1),S=a.get(p.entity2);if($&&S){let E={x:$.x+$.width/2,y:$.y+$.height/2},w={x:S.x+S.width/2,y:S.y+S.height/2},k=q($,w),v=q(S,E);if(m.push(k),Math.abs(k.x-v.x)>.5&&Math.abs(k.y-v.y)>.5)if(Math.abs(w.x-E.x)>=Math.abs(w.y-E.y)){let M=(k.x+v.x)/2;m.push({x:M,y:k.y},{x:M,y:v.y})}else{let M=(k.y+v.y)/2;m.push({x:k.x,y:M},{x:v.x,y:M})}m.push(v)}}y.push({entity1:p.entity1,entity2:p.entity2,cardinality1:p.cardinality1,cardinality2:p.cardinality2,label:p.label,identifying:p.identifying,points:m})}let d=[...r.flatMap(n=>[n.x,n.x+n.width]),...h.flatMap(n=>[n.x,n.x+n.width]),...y.flatMap(n=>n.points.map(p=>p.x))],c=[...r.flatMap(n=>[n.y,n.y+n.height]),...h.flatMap(n=>[n.y,n.y+n.height]),...y.flatMap(n=>n.points.map(p=>p.y))],x=d.length>0&&Math.min(...d)<_.padding?_.padding-Math.min(...d):0,g=c.length>0&&Math.min(...c)<_.padding?_.padding-Math.min(...c):0;if(x!==0||g!==0){for(let n of r)n.x+=x,n.y+=g;for(let n of h)n.x+=x,n.y+=g;for(let n of y)for(let p of n.points)p.x+=x,p.y+=g}let b=Math.max((t.width??600)+x,...r.map(n=>n.x+n.width+_.padding),...h.map(n=>n.x+n.width+_.padding),...y.flatMap(n=>n.points.map(p=>p.x+_.padding))),f=Math.max((t.height??400)+g,...r.map(n=>n.y+n.height+_.padding),...h.map(n=>n.y+n.height+_.padding),...y.flatMap(n=>n.points.map(p=>p.y+_.padding)));return{width:b,height:f,accessibilityTitle:e.accessibilityTitle,accessibilityDescription:e.accessibilityDescription,entities:r,relationships:y,groups:h}}function q(t,e){let o={x:t.x+t.width/2,y:t.y+t.height/2},i=e.x-o.x,r=e.y-o.y;return Math.abs(i)*t.height>=Math.abs(r)*t.width?{x:i>=0?t.x+t.width:t.x,y:o.y+r/(Math.abs(i)||1)*t.width/2}:{x:o.x+i/(Math.abs(r)||1)*t.height/2,y:r>=0?t.y+t.height:t.y}}function Yt(t,e){let o=new Set;for(let i of t.groups){if(!i.direction)continue;let r=i.entityIds.map(d=>e.find(c=>c.id===d)).filter(d=>!!d);if(r.length<2)continue;for(let d of r)o.add(d.id);let s=i.direction==="LR"||i.direction==="RL",h=i.direction==="RL"||i.direction==="BT"?[...r].reverse():r,a=Math.min(...r.map(d=>d.x)),l=Math.min(...r.map(d=>d.y)),y=s?a:l;for(let d of h)s?(d.x=y,d.y=l,y+=d.width+48):(d.x=a,d.y=y,y+=d.height+48)}return o}function Gt(t,e){let o=[];for(let i of[...t.groups].reverse()){let r=[...e.filter(c=>c.groupId===i.id),...o.filter(c=>c.parentId===i.id)],s=20,h=28,a=r.length?Math.min(...r.map(c=>c.x))-s:_.padding,l=r.length?Math.min(...r.map(c=>c.y))-s-h:_.padding,y=r.length?Math.max(...r.map(c=>c.x+c.width))+s:a+140,d=r.length?Math.max(...r.map(c=>c.y+c.height))+s:l+90;o.unshift({id:i.id,label:i.label,...i.parentId?{parentId:i.parentId}:{},x:a,y:l,width:y-a,height:d-l,headerHeight:h})}return o}function Ut(t){let e=(t.direction??"LR")==="LR"||(t.direction??"LR")==="RL",o=t.direction==="RL"||t.direction==="BT",i=t.groups.filter(c=>!c.parentId),r=o?[...i].reverse():i,s=[],h=(c,x,g)=>{let f=t.groups.filter(m=>m.parentId===c.parentId).findIndex(m=>m.id===c.id),n=g?g.x+20+f*150:_.padding+(e?x*200:0),p=g?g.y+36+f*80:_.padding+(e?0:x*130),u={id:c.id,label:c.label,...c.parentId?{parentId:c.parentId}:{},x:n,y:p,width:160,height:100,headerHeight:28};s.push(u);for(let[m,$]of t.groups.filter(S=>S.parentId===c.id).entries())h($,m,u)};r.forEach((c,x)=>h(c,x));let a=new Map(s.map(c=>[c.id,c])),l=t.relationships.map(c=>{let x=a.get(c.entity1),g=a.get(c.entity2),b=[];if(x&&g){let f={x:x.x+x.width/2,y:x.y+x.height/2},n={x:g.x+g.width/2,y:g.y+g.height/2},p=q(x,n),u=q(g,f);if(b.push(p),Math.abs(p.x-u.x)>.5&&Math.abs(p.y-u.y)>.5){let m=e?(p.x+u.x)/2:(p.y+u.y)/2;e?b.push({x:m,y:p.y},{x:m,y:u.y}):b.push({x:p.x,y:m},{x:u.x,y:m})}b.push(u)}return{entity1:c.entity1,entity2:c.entity2,cardinality1:c.cardinality1,cardinality2:c.cardinality2,label:c.label,identifying:c.identifying,points:b}}),y=Math.max(...s.map(c=>c.x+c.width+_.padding),0),d=Math.max(...s.map(c=>c.y+c.height+_.padding),0);return{width:y,height:d,accessibilityTitle:t.accessibilityTitle,accessibilityDescription:t.accessibilityDescription,entities:[],relationships:l,groups:s}}function Ft(t,e={},o){if(t.entities.length===0)return t.groups.length>0?Ut(t):{width:0,height:0,accessibilityTitle:t.accessibilityTitle,accessibilityDescription:t.accessibilityDescription,entities:[],relationships:[],groups:[]};let{elkGraph:i,entitySizes:r}=At(t,e,o),s=ft(i);return Xt(s,t,r)}var Lt=String.raw`[A-Za-z0-9_][\w.-]*`,jt=String.raw`"(?:\\.|[^"\\])+"`,Ct=`(?:${jt}|${Lt})`,$e=new RegExp(`^${Lt}$`),ot=`${Ct}(?:\\[\\s*(?:"(?:\\\\.|[^"\\\\])*"|[^\\]"\\r\\n]+)\\s*\\])?(?::::[\\w-]+)?`;function I(t){let e=new RegExp(`^(${Ct})(?:\\[\\s*(?:"((?:\\\\.|[^"\\\\])*)"|([^\\]"\\r\\n]+))\\s*\\])?(?::::([\\w-]+))?$`),o=t.trim().match(e);if(!o)return null;let i=o[1].startsWith('"'),r=i?o[1].slice(1,-1).replace(/\\(["\\])/g,"$1"):o[1],s=(o[2]??o[3]?.trim())?.replace(/\\(["\\])/g,"$1");return{id:r,...s!==void 0?{label:Z(s)}:i?{label:Z(r)}:{},...o[4]?{className:o[4]}:{}}}function Z(t){return O(t).replace(/\*\*([\s\S]+?)\*\*/g,"<b>$1</b>").replace(/_([^_\n]+)_/g,"<i>$1</i>").replace(/(?<!\*)\*([^*\n]+)\*(?!\*)/g,"<i>$1</i>")}function Kt(t){let e=t.match(/^subgraph\s+("(?:\\.|[^"])+"|\S+?)(?:\s*\[([^\]]+)\])?$/i);if(!e)return null;let o=e[1],r=o.startsWith('"')?o.slice(1,-1).replace(/\\(["\\])/g,"$1"):o;return{id:r,label:Z(e[2]?.trim()||r)}}function Wt(t){let e=at(t);ct(e),t=e.familyLines;let o={entities:[],classDefs:new Map,relationships:[],groups:[],...e.accessibility.title!==void 0?{accessibilityTitle:O(e.accessibility.title)}:{},...e.accessibility.descr!==void 0?{accessibilityDescription:O(e.accessibility.descr)}:{}},i=new Map,r=null,s=[],h=new Map,a=()=>s.at(-1);for(let l=1;l<t.length;l++){let y=t[l];if(r){if(y==="}"){r=null;continue}let u=qt(y);u&&r.attributes.push(u);continue}let d=Kt(y);if(d){if(h.has(d.id))throw new Error(`Duplicate ER subgraph id '${d.id}'`);let u={...d,...a()?{parentId:a()}:{},entityIds:[]};h.set(u.id,u),o.groups.push(u),s.push(u.id);continue}if(y==="end"&&s.length>0){s.pop();continue}let c=Tt(y);if(c){let u=a()?h.get(a()):void 0;u?u.direction=c:o.direction=c;continue}let x=y.match(/^classDef\s+([\w,-]+)\s+(.+)$/i);if(x){let u=tt(x[2]);for(let m of x[1].split(",").map($=>$.trim()).filter(Boolean))o.classDefs.set(m,{...u});continue}let g=y.match(/^class\s+(.+?)\s+([\w-]+)$/i);if(g){let u=g[1].split(",").map(m=>I(m.trim())?.id).filter(m=>m!==void 0);for(let m of u)W(i,m).className=g[2];continue}let b=y.match(/^style\s+(.+?)\s+(.+)$/i);if(b){let u=b[1].split(",").map($=>I($.trim())?.id).filter($=>$!==void 0),m=tt(b[2]);for(let $ of u){let S=W(i,$);S.inlineStyle={...S.inlineStyle,...m}}continue}let f=y.match(new RegExp(`^(${ot})\\s*\\{$`));if(f){let u=I(f[1]);if(!u)continue;let m=W(i,u.id,u.label,u.className,a());a()&&h.get(a())?.entityIds.push(u.id),r=m;continue}let n=Qt(y);if(n){h.has(n.entity1)||W(i,n.entity1,n.entity1Label,n.entity1Class,a()),h.has(n.entity2)||W(i,n.entity2,n.entity2Label,n.entity2Class,a()),o.relationships.push(n);continue}let p=I(y);p&&(W(i,p.id,p.label,p.className,a()),a()&&h.get(a())?.entityIds.push(p.id))}return o.entities=[...i.values()],o}function W(t,e,o,i,r){let s=t.get(e);return s?(o!==void 0&&(s.label=o),i!==void 0&&(s.className=i),r!==void 0&&s.groupId===void 0&&(s.groupId=r)):(s={id:e,label:o??e,attributes:[],...i?{className:i}:{},...r?{groupId:r}:{}},t.set(e,s)),s}function qt(t){let e=t.match(/^(\S+)\s+(\S+)(?:\s+(.+))?$/);if(!e)return null;let o=e[1],i=e[2],r=e[3]?.trim()??"",s=[],h,a=r.match(/"([^"]*)"/);a&&(h=O(a[1]));let l=r.replace(/"[^"]*"/,"").trim();for(let y of l.split(/[\s,]+/)){let d=y.toUpperCase();(d==="PK"||d==="FK"||d==="UK")&&s.push(d)}return{type:o,name:i,keys:s,comment:h}}function Zt(t){let e=new RegExp(`^(${ot})\\s+([|o}{]+)(--|\\.\\.)([|o}{]+)\\s+(${ot})(?:\\s*:\\s*(.*))?$`),o=t.match(e);if(!o)return null;let i=I(o[1]),r=I(o[5]);if(!i||!r)return null;let s=(o[6]??"").trim().replace(/^["']|["']$/g,"");return{entity1:i,entity2:r,leftToken:o[2],rightToken:o[4],identifying:o[3]==="--",label:Z(s)}}function Qt(t){let e=Zt(t);if(!e)return null;let o=zt(e.leftToken),i=zt(e.rightToken);if(!o||!i)throw new Error(`Invalid ER cardinality "${e.leftToken}${e.identifying?"--":".."}${e.rightToken}" in "${t}" (valid tokens on either side: ||, |o, o|, }o, o{, }|, |{)`);return{entity1:e.entity1.id,entity2:e.entity2.id,...e.entity1.label!==void 0?{entity1Label:e.entity1.label}:{},...e.entity2.label!==void 0?{entity2Label:e.entity2.label}:{},...e.entity1.className!==void 0?{entity1Class:e.entity1.className}:{},...e.entity2.className!==void 0?{entity2Class:e.entity2.className}:{},cardinality1:o,cardinality2:i,label:e.label,identifying:e.identifying}}function zt(t){switch(t){case"||":return"one";case"|o":case"o|":return"zero-one";case"}|":case"|{":return"many";case"}o":case"o{":return"zero-many";default:return null}}var D={attrSize:11,attrWeight:400,keySize:9,keyWeight:600};function Nt(t){let{positioned:e,colors:o,resolved:i}=t,r=i.renderOptions,s=o.font??"Inter",h=r.transparent??!1,a=[],l=Y(r,nt,i.styleFace),y=`er-${vt(e.width,e.height,e.entities.length,e.relationships.length)}`,d=`${y}-title`,c=`${y}-desc`,x=_t(e.accessibilityTitle,e.accessibilityDescription,d,c);a.push(Rt({id:"prelude",width:e.width,height:e.height,colors:o,transparent:h,font:s,hasMonoFont:!0},xt(e.width,e.height,o,h,x)+`
6
+ `+ut(s,!0,o.shadow,o.embedFontImport)));let g=[];g.push("<defs>");let b=gt(o);b&&g.push(b),g.push("</defs>"),a.push(St({id:"defs"},g.join(`
7
+ `))),e.accessibilityTitle&&a.push(et({id:"acc-title",role:"chrome"},`<title id="${d}">${H(e.accessibilityTitle)}</title>`)),e.accessibilityDescription&&a.push(et({id:"acc-desc",role:"chrome"},`<desc id="${c}">${H(e.accessibilityDescription)}</desc>`));for(let m of e.groups)a.push(Jt(m,l));let f=new Map;for(let m of e.relationships){let $=`${m.entity1}-${m.entity2}`,S=f.get($)??0;f.set($,S+1),a.push(ee(m,l,i.styleFace,`rel:${$}#${S}`))}for(let m of e.entities)a.push(Vt(m,l));let n=new Map;for(let m of e.relationships){let $=`${m.entity1}-${m.entity2}`,S=n.get($)??0;n.set($,S+1),a.push(...oe(m,l,`card:${$}#${S}`))}let p=ie(e,l,i.styleFace),u=new Map;for(let m of e.relationships){let $=`${m.entity1}-${m.entity2}`,S=u.get($)??0;u.set($,S+1),a.push(...ne(m,l,i.styleFace,`rel-label:${$}#${S}`,p.get(m)))}return a.push(wt()),{family:"er",width:e.width,height:e.height,colors:o,transparent:h,parts:a}}function Jt(t,e){let o=e.groupBorderColor??"var(--_node-stroke)",i=e.groupFillColor??"var(--_group-fill)",r=e.groupHeaderFillColor??"var(--_group-hdr)",s=e.groupTextColor??"var(--_text)";return j({id:`er-group:${t.id}`,role:"group",open:`<g class="er-subgraph" data-id="${R(t.id)}" data-label="${R(t.label)}"${t.parentId?` data-parent-id="${R(t.parentId)}"`:""}>`,close:"</g>",children:[{node:P({id:`er-group:${t.id}:box`,role:"group",geometry:{kind:"rect",x:t.x,y:t.y,width:t.width,height:t.height,rx:6,ry:6},paint:{fill:i,stroke:o,strokeWidth:"1.5"}},`<rect x="${t.x}" y="${t.y}" width="${t.width}" height="${t.height}" rx="6" fill="${R(i)}" stroke="${R(o)}" stroke-width="1.5" />`),indent:2},{node:P({id:`er-group:${t.id}:header`,role:"group-header",geometry:{kind:"rect",x:t.x,y:t.y,width:t.width,height:t.headerHeight,rx:6,ry:6},paint:{fill:r,stroke:"none"}},`<rect x="${t.x}" y="${t.y}" width="${t.width}" height="${t.headerHeight}" rx="6" fill="${R(r)}" />`),indent:2},{node:F({id:`er-group:${t.id}:label`,role:"label",text:t.label,x:t.x+10,y:t.y+t.headerHeight/2,fontSize:12,anchor:"start",paint:{fill:s}},G(t.label,t.x+10,t.y+t.headerHeight/2,12,`text-anchor="start" font-weight="600" fill="${R(s)}"`)),indent:2}]})}function Vt(t,e){let{id:o,x:i,y:r,width:s,height:h,headerHeight:a,rowHeight:l,label:y,attributes:d}=t,c=[],x=t.className?` ${R(t.className)}`:"",g=t.className?` data-class="${R(t.className)}"`:"",b=`<g class="entity${x}" data-id="${R(o)}" data-label="${R(y)}"${g}>`,f=t.inlineStyle??{},n=f.fill??e.nodeFillColor??"var(--_node-fill)",p=f.stroke??e.nodeBorderColor??"var(--_node-stroke)",u=Number.parseFloat(f["stroke-width"]??""),m=Number.isFinite(u)&&u>0?u:e.nodeLineWidth;c.push({indent:2,node:P({id:`entity-rect:${o}`,role:"entity",geometry:{kind:"rect",x:i,y:r,width:s,height:h,rx:e.cornerRadius??0,ry:e.cornerRadius??0},paint:{fill:n,stroke:p,strokeWidth:String(m)}},`<rect x="${i}" y="${r}" width="${s}" height="${h}" rx="${e.cornerRadius??0}" ry="${e.cornerRadius??0}" fill="${R(n)}" stroke="${R(p)}" stroke-width="${m}" />`)});let $=f.fill??e.groupHeaderFillColor??"var(--_group-hdr)",S=Et(i,r,s,a,e.cornerRadius??0);c.push({indent:2,node:P({id:`entity-header:${o}`,role:"group-header",geometry:{kind:"path",d:S},paint:{fill:$,stroke:p,strokeWidth:String(m)}},`<path d="${S}" fill="${R($)}" stroke="${R(p)}" stroke-width="${m}" />`)});let E=f.color??e.nodeTextColor??"var(--_text)",w=z(y,e.nodeTextTransform);c.push({indent:2,node:F({id:`entity-name:${o}`,role:"label",text:w,x:i+s/2,y:r+a/2,fontSize:e.nodeLabelFontSize,anchor:"middle",paint:{fill:E}},G(w,i+s/2,r+a/2,e.nodeLabelFontSize,`text-anchor="middle" font-size="${e.nodeLabelFontSize}" font-weight="${e.nodeLabelFontWeight}"${Ht(e.nodeLetterSpacing)} fill="${R(E)}"`))});let k=r+a,v=Math.min(e.nodeLineWidth,C.innerBox);c.push({indent:2,node:P({id:`entity-divider:${o}`,role:"chrome",geometry:{kind:"line",x1:i,y1:k,x2:i+s,y2:k},paint:{stroke:p,strokeWidth:String(v)}},`<line x1="${i}" y1="${k}" x2="${i+s}" y2="${k}" stroke="${R(p)}" stroke-width="${v}" />`)});for(let T=0;T<d.length;T++){let M=d[T],Q=k+T*l+l/2;for(let B of te(M,o,i,Q,s,e))c.push({indent:2,node:B})}if(d.length===0){let T=e.nodeTextColor??"var(--_text-faint)";c.push({indent:2,node:F({id:`entity-empty:${o}`,role:"attribute",text:"(no attributes)",x:i+s/2,y:k+l/2,fontSize:D.attrSize,anchor:"middle",paint:{fill:T}},`<text x="${i+s/2}" y="${k+l/2}" text-anchor="middle" dy="${N}" font-size="${D.attrSize}" fill="${R(T)}" font-style="italic">(no attributes)</text>`)})}return j({id:`entity:${o}`,role:"entity",open:b,close:"</g>",children:c})}function te(t,e,o,i,r,s){let h=[],a=`attr:${e}:${t.name}`,l=s.nodeTextColor??"var(--_text-sec)",y=s.nodeTextColor??"var(--_text-muted)",d=0;if(t.keys.length>0){let b=t.keys.join(",");d=A(b,D.keySize,D.keyWeight)+8;let f=o+Math.max(6,s.nodePaddingX/2);h.push(P({id:`${a}:key-badge`,role:"chrome",geometry:{kind:"rect",x:f,y:i-7,width:d,height:14,rx:2,ry:2},paint:{fill:"var(--_key-badge)"}},`<rect x="${f}" y="${i-7}" width="${d}" height="14" rx="2" ry="2" fill="var(--_key-badge)" />`)),h.push(F({id:`${a}:key-text`,role:"attribute",text:b,x:f+d/2,y:i,fontSize:D.keySize,anchor:"middle",paint:{fill:l}},`<text x="${f+d/2}" y="${i}" text-anchor="middle" dy="${N}" font-size="${D.keySize}" font-weight="${D.keyWeight}" fill="${R(l)}">${t.keys.join(",")}</text>`))}let c=o+Math.max(8,s.nodePaddingX/2)+(d>0?d+6:0);h.push(F({id:`${a}:type`,role:"attribute",text:t.type,x:c,y:i,fontSize:D.attrSize,anchor:"start",paint:{fill:y}},`<text x="${c}" y="${i}" class="mono" dy="${N}" font-size="${D.attrSize}" font-weight="${D.attrWeight}"><tspan fill="${R(y)}">${H(t.type)}</tspan></text>`));let x=o+r-Math.max(8,s.nodePaddingX/2);if(h.push(F({id:a,role:"attribute",text:t.name,x,y:i,fontSize:D.attrSize,anchor:"end",paint:{fill:l}},`<text x="${x}" y="${i}" class="mono" text-anchor="end" dy="${N}" font-size="${D.attrSize}" font-weight="${D.attrWeight}"><tspan fill="${R(l)}">${H(t.name)}</tspan></text>`)),t.comment&&t.comment.length>0){let b=t.comment.replace(/<br\s*\/?>/gi,`
8
+ `);return[j({id:`${a}:row`,role:"attribute",open:`<g><title>${H(b)}</title>`,close:"</g>",children:h.map(f=>({node:f,indent:0}))})]}return h}function ee(t,e,o,i){let r=t.identifying?"solid":"dashed",s={category:t.identifying?"identifying":"non-identifying"},h=K(o,"relationship",s,{includeFallback:!1}),a=h?.bendRadius??e.edgeBendRadius,l={endpoints:{from:t.entity1,to:t.entity2},relationship:{kind:t.identifying?"identifying":"non-identifying"},route:{ownership:"layout",bendRadius:a},labels:t.label?[{text:t.label}]:[]};if(t.points.length<2)return U({id:i,role:"relationship",geometry:{kind:"polyline",points:t.points},lineStyle:"invisible",paint:{},channels:s,...l},"");let y=t.points.map(n=>`${n.x},${n.y}`).join(" "),d=t.identifying?"":' stroke-dasharray="6 4"',c=t.label?` data-label="${R(t.label)}"`:"",x=['class="er-relationship"',`data-from="${R(t.entity1)}"`,`data-to="${R(t.entity2)}"`,`data-cardinality1="${t.cardinality1}"`,`data-cardinality2="${t.cardinality2}"`,`data-identifying="${t.identifying}"`],g=h?.strokeColor??e.edgeStrokeColor??"var(--_line)",b=h?.lineWidth??e.lineWidth,f={stroke:g,strokeWidth:String(b),...t.identifying?{}:{strokeDasharray:"6 4"}};if(a>0&&t.points.length>2){let n=kt(t.points,a,{metric:"manhattan",precision:3});return U({id:i,role:"relationship",geometry:n.geometry,lineStyle:r,paint:f,channels:s,...l,route:{...l.route,contours:n.contours}},`<path ${x.join(" ")}${c} d="${n.geometry.d}" fill="none" stroke="${R(g)}" stroke-width="${b}"${d} />`)}return U({id:i,role:"relationship",geometry:{kind:"polyline",points:t.points},lineStyle:r,paint:f,channels:s,...l},`<polyline ${x.join(" ")}${c} points="${y}" fill="none" stroke="${R(g)}" stroke-width="${b}"${d} />`)}function ie(t,e,o){let i=new Map,r=(l,y)=>Math.min(l.x1,y.x1)-Math.max(l.x0,y.x0)>.5&&Math.min(l.y1,y.y1)-Math.max(l.y0,y.y0)>.5,s=t.entities.map(l=>({x0:l.x,y0:l.y,x1:l.x+l.width,y1:l.y+l.height})),h=t.relationships.flatMap(l=>l.points.length===0?[]:[l.points[0],l.points[l.points.length-1]].map(d=>({x0:d.x-18,y0:d.y-18,x1:d.x+18,y1:d.y+18}))),a=[];for(let l of t.relationships){if(!l.label||l.points.length<2)continue;let y=K(o,"relationship",{category:l.identifying?"identifying":"non-identifying"},{includeFallback:!1}),d=L(z(l.label,y?.textTransform??e.edgeTextTransform),y?.fontSize??e.edgeLabelFontSize,y?.fontWeight??e.edgeLabelFontWeight,y?.letterSpacing??e.edgeLetterSpacing),c=d.width+16,x=d.height+16,g=(E,w)=>({x0:E-c/2,y0:w-x/2,x1:E+c/2,y1:w+x/2}),b=E=>E.x0<0||E.y0<0||E.x1>t.width||E.y1>t.height||a.some(w=>r(E,w))||s.some(w=>r(E,w))||h.some(w=>r(E,w)),f=l.points,n=[],p=0;for(let E=1;E<f.length;E++){let w=Math.hypot(f[E].x-f[E-1].x,f[E].y-f[E-1].y);n.push(w),p+=w}let u=E=>{let w=E;for(let k=0;k<n.length;k++){if(w<=n[k]||k===n.length-1){let v=n[k]===0?0:Math.max(0,Math.min(1,w/n[k]));return{x:f[k].x+(f[k+1].x-f[k].x)*v,y:f[k].y+(f[k+1].y-f[k].y)*v}}w-=n[k]}return f[f.length-1]},m=Ot(f),$={x:m.x,y:m.y},S=g(m.x,m.y);if(b(S))for(let E of[.4,.6,.3,.7,.25,.75,.2,.8,.15,.85]){let w=u(p*E),k=g(w.x,w.y);if(!b(k)){$=w,S=k;break}}if(b(S)){let E=f[0],w=f[f.length-1],k=w.x-E.x,v=w.y-E.y,T=Math.hypot(k,v)||1,M=-v/T,Q=k/T,B=Math.max(18,x+6);for(let rt of[1,-1,2,-2,3,-3]){let J={x:m.x+M*B*rt,y:m.y+Q*B*rt},st=g(J.x,J.y);if(!b(st)){$=J,S=st;break}}}a.push(S),i.set(l,$)}return i}function ne(t,e,o,i,r){if(!t.label||t.points.length<2)return[];let s={category:t.identifying?"identifying":"non-identifying"},h=K(o,"relationship",s,{includeFallback:!1}),a=h?.fontSize??e.edgeLabelFontSize,l=h?.fontWeight??e.edgeLabelFontWeight,y=h?.letterSpacing??e.edgeLetterSpacing,d=r??Ot(t.points),c=z(t.label,h?.textTransform??e.edgeTextTransform),x=L(c,a,l,y),g=x.width+8,b=x.height+6,f=P({id:`${i}:bg`,role:"chrome",geometry:{kind:"rect",x:d.x-g/2,y:d.y-b/2,width:g,height:b,rx:2,ry:2},paint:{fill:"var(--bg)",stroke:"var(--_inner-stroke)",strokeWidth:"0.5"},channels:s},`<rect x="${d.x-g/2}" y="${d.y-b/2}" width="${g}" height="${b}" rx="2" ry="2" fill="var(--bg)" stroke="var(--_inner-stroke)" stroke-width="0.5" />`),n=h?.textColor??e.edgeTextColor??"var(--_text-muted)",p=F({id:i,role:"label",text:c,x:d.x,y:d.y,fontSize:a,anchor:"middle",paint:{fill:n},channels:s},G(c,d.x,d.y,a,`text-anchor="middle" font-size="${a}" font-weight="${l}"${Ht(y)} fill="${R(n)}"`));return[f,p]}function oe(t,e,o){if(t.points.length<2)return[P({id:o,role:"cardinality",geometry:{kind:"compound",children:[]},paint:{}},"")];let i=t.points[0],r=t.points[1],s=t.points[t.points.length-1],h=t.points[t.points.length-2];return[It(i,r,t.cardinality1,e,`${o}:1`),It(s,h,t.cardinality2,e,`${o}:2`)]}function It(t,e,o,i,r){let s=re(t,e,o,i);return P({id:r,role:"cardinality",geometry:{kind:"compound",children:s.map(h=>h.geometry)},paint:{stroke:i.edgeStrokeColor??"var(--_line)",strokeWidth:String(i.lineWidth+.25)},channels:{category:o}},s.map(h=>h.crisp).join(`
9
+ `))}function re(t,e,o,i){let r=[],s=i.lineWidth+.25,h=R(i.edgeStrokeColor??"var(--_line)"),a=t.x-e.x,l=t.y-e.y,y=Math.sqrt(a*a+l*l);if(y===0)return[];let d=a/y,c=l/y,x=-c,g=d,b=t.x-d*4,f=t.y-c*4,n=t.x-d*16,p=t.y-c*16,u=o==="many"||o==="zero-many",m=o==="zero-one"||o==="zero-many",$=(S,E)=>{let k=S+x*6,v=E+g*6,T=S-x*6,M=E-g*6;r.push({geometry:{kind:"line",x1:k,y1:v,x2:T,y2:M},crisp:`<line x1="${k}" y1="${v}" x2="${T}" y2="${M}" stroke="${h}" stroke-width="${s}" />`})};if(o==="one"?($(b,f),$(b-d*4,f-c*4)):o==="zero-one"&&$(b,f),u){let E=b,w=f,k=E+x*7,v=w+g*7;r.push({geometry:{kind:"line",x1:k,y1:v,x2:n,y2:p},crisp:`<line x1="${k}" y1="${v}" x2="${n}" y2="${p}" stroke="${h}" stroke-width="${s}" />`}),r.push({geometry:{kind:"line",x1:E,y1:w,x2:n,y2:p},crisp:`<line x1="${E}" y1="${w}" x2="${n}" y2="${p}" stroke="${h}" stroke-width="${s}" />`});let T=E-x*7,M=w-g*7;r.push({geometry:{kind:"line",x1:T,y1:M,x2:n,y2:p},crisp:`<line x1="${T}" y1="${M}" x2="${n}" y2="${p}" stroke="${h}" stroke-width="${s}" />`}),o==="many"&&$(t.x-d*20,t.y-c*20)}if(m){let S=u?20:12,E=t.x-d*S,w=t.y-c*S;r.push({geometry:{kind:"circle",cx:E,cy:w,r:4},crisp:`<circle cx="${E}" cy="${w}" r="4" fill="var(--bg)" stroke="${h}" stroke-width="${s}" />`})}return r}function Ot(t){if(t.length===0)return{x:0,y:0};if(t.length===1)return t[0];let e=0;for(let r=1;r<t.length;r++){let s=t[r].x-t[r-1].x,h=t[r].y-t[r-1].y;e+=Math.sqrt(s*s+h*h)}if(e===0)return t[0];let o=e/2,i=0;for(let r=1;r<t.length;r++){let s=t[r].x-t[r-1].x,h=t[r].y-t[r-1].y,a=Math.sqrt(s*s+h*h);if(i+a>=o){let l=a>0?(o-i)/a:0;return{x:t[r-1].x+s*l,y:t[r-1].y+h*l}}i+=a}return t[t.length-1]}function Ht(t){return t!==0?` letter-spacing="${t}"`:""}var H=$t;var Ye=yt(Mt,{normalizeRequest:t=>({renderOptions:Pt(t.source.frontmatter,t.renderOptions)}),layout:t=>{let e=Dt(lt(Wt(t.source.familyLines),t.source.accessibility),t.source.frontmatter);return ht(Ft(e,t.renderOptions,t.styleFace))},lowerScene:pt(Nt)});export{Ye as default};
@@ -0,0 +1,4 @@
1
+ import{a as b}from"./chunk-4IUBLBJJ.js";import{a as _}from"./chunk-2U4EUPSI.js";import"./chunk-T7IJ6V4B.js";import"./chunk-5Q4S74UO.js";import"./chunk-STQRDZ67.js";import{c as y}from"./chunk-CTVVJPMX.js";import"./chunk-WEUWIFG3.js";import{d as s}from"./chunk-A7L4WWVW.js";import"./chunk-PXRUFH7U.js";import"./chunk-KJVNXJ5Y.js";import"./chunk-M6BT2HIP.js";import{a as u}from"./chunk-DPSSG7LR.js";import"./chunk-FFOHLPDA.js";import"./chunk-FLD63DXE.js";import{k as f}from"./chunk-RVO6J7S3.js";import{a as p,b as d,c as m}from"./chunk-EPFMQPXX.js";import"./chunk-FXBBGAMJ.js";import"./chunk-P7HMSKHJ.js";var w=Object.freeze({id:"flowchart",upstreamId:"flowchart-v2",maturity:"stable",label:"Flowchart",headers:["flowchart","graph"],aliases:["swimlane"],config:{section:"flowchart",keys:["nodeSpacing","rankSpacing","wrappingWidth","titleTopMargin","subGraphTitleMargin","arrowMarkerAbsolute","diagramPadding","htmlLabels","curve","padding","defaultRenderer","inheritDir"],noopKeys:["arrowMarkerAbsolute","curve","defaultRenderer","diagramPadding","htmlLabels","inheritDir","padding","subGraphTitleMargin","titleTopMargin"]},identity:{id:"family:flowchart",kind:"family",version:"1.0.0",compatibility:{core:"^0.3.0"},provenance:{owner:"agentic-mermaid",source:"built-in"}},collisionPriority:100,semanticChannels:[],semanticRoles:["prelude","defs","chrome","group","group-header","edge","edge-label","node","label","icon"],scenePrimitiveEvidence:[{role:"prelude",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"defs",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"defs",primitive:"marker",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"chrome",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"chrome",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"group",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"group",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"group-header",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"group-header",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"edge",primitive:"connector",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"edge-label",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"node",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"node",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"label",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"icon",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"icon",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]}],example:`flowchart TD
2
+ A[Start] --> B{Ship?}
3
+ B -->|yes| C[Deploy]
4
+ B -->|no| D[Fix]`,detect:function(i){let t=(i.split(";")[0]??"").trim().toLowerCase();return/^(?:flowchart|graph|swimlane)(?:\s|$)/.test(t)},detectLoose:function(i){let t=(i.split(";")[0]??"").trim().toLowerCase();return/^(?:flowchart|graph|swimlane)(?:\s|$)/.test(t)}}),v=w;var F=200;function g(e,i){if(!e)return i;let t=o(e,"nodeSpacing"),n=o(e,"rankSpacing"),r=o(e,"wrappingWidth");return t===void 0&&n===void 0&&r===void 0?i:{...i,nodeSpacing:i.nodeSpacing??t,layerSpacing:i.layerSpacing??n,wrappingWidth:i.wrappingWidth??r}}function o(e,i){let t=s(e,["flowchart",i]);return typeof t=="number"&&Number.isFinite(t)&&t>0?t:void 0}function h(e,i,t){let n=i.wrappingWidth,r=f(i,void 0,t);for(let a of e.nodes.values()){let c=n??(a.markdownLabel?F:void 0);if(c===void 0||!a.label)continue;let l=u(a.label,c,r.nodeLabelFontSize,r.nodeLabelFontWeight);l!==a.label&&(a.label=l)}}var x=m(v,{normalizeRequest:e=>({renderOptions:g(e.source.frontmatter,e.renderOptions)}),layout:e=>{let i=_(e.source.familyText);return h(i,e.renderOptions,e.styleFace),d(y(i,{...e.renderOptions,...e.styleFace?{styleFace:e.styleFace}:{}}))},lowerScene:p(b)});export{x as default};