First commit.

Signed-off-by: Chen Xiao <abigwc@gmail.com>
This commit is contained in:
Chen Xiao
2026-05-08 14:43:16 +08:00
commit 0b64e2de94
10989 changed files with 2253791 additions and 0 deletions
@@ -0,0 +1 @@
import{a as e,b as r}from"./chunk-XGPFEOL4.mjs";import"./chunk-FXACKDTF.mjs";import"./chunk-H3VCZNTA.mjs";import"./chunk-QU3B7NT4.mjs";import"./chunk-JIN56HTB.mjs";import"./chunk-VELTKBKT.mjs";export{e as ArchitectureModule,r as createArchitectureServices};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
import{Y as s}from"./chunk-5YUVU3PZ.mjs";import{h as e}from"./chunk-MGPAVIPZ.mjs";import{a as n}from"./chunk-VELTKBKT.mjs";var d=n(t=>{let{securityLevel:m}=s(),o=e("body");if(m==="sandbox"){let c=e(`#i${t}`).node()?.contentDocument??document;o=e(c.body)}return o.select(`#${t}`)},"selectSvgElement");export{d as a};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../src/rendering-util/selectSvgElement.ts"],
"sourcesContent": ["import { select } from 'd3';\nimport { getConfig } from '../diagram-api/diagramAPI.js';\nimport type { HTML, SVG } from '../diagram-api/types.js';\n\n/**\n * Selects the SVG element using {@link id}.\n *\n * @param id - The diagram ID.\n * @returns The selected {@link SVG} element using {@link id}.\n */\nexport const selectSvgElement = (id: string): SVG => {\n const { securityLevel } = getConfig();\n // handle root and document for when rendering in sandbox mode\n let root: HTML = select('body');\n if (securityLevel === 'sandbox') {\n const sandboxElement: HTML = select(`#i${id}`);\n const doc: Document = sandboxElement.node()?.contentDocument ?? document;\n root = select(doc.body as HTMLIFrameElement);\n }\n const svg: SVG = root.select(`#${id}`);\n return svg;\n};\n"],
"mappings": "2HAUO,IAAMA,EAAmBC,EAACC,GAAoB,CACnD,GAAM,CAAE,cAAAC,CAAc,EAAIC,EAAU,EAEhCC,EAAaC,EAAO,MAAM,EAC9B,GAAIH,IAAkB,UAAW,CAE/B,IAAMI,EADuBD,EAAO,KAAKJ,CAAE,EAAE,EACR,KAAK,GAAG,iBAAmB,SAChEG,EAAOC,EAAOC,EAAI,IAAyB,CAC7C,CAEA,OADiBF,EAAK,OAAO,IAAIH,CAAE,EAAE,CAEvC,EAXgC",
"names": ["selectSvgElement", "__name", "id", "securityLevel", "getConfig", "root", "select_default", "doc"]
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
import{a as f}from"./chunk-VELTKBKT.mjs";var d=f((t,r)=>{if(r)return"translate("+-t.width/2+", "+-t.height/2+")";let c=t.x??0,e=t.y??0;return"translate("+-(c+t.width/2)+", "+-(e+t.height/2)+")"},"computeLabelTransform");var s={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4,arrow_barb:0,arrow_barb_neo:5.5},T={arrow_point:4,arrow_cross:12.5,arrow_circle:12.5};function b(t,r){if(t===void 0||r===void 0)return{angle:0,deltaX:0,deltaY:0};t=n(t),r=n(r);let[c,e]=[t.x,t.y],[o,i]=[r.x,r.y],l=o-c,p=i-e;return{angle:Math.atan(p/l),deltaX:l,deltaY:p}}f(b,"calculateDeltaAndAngle");var n=f(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),E=f(t=>({x:f(function(r,c,e){let o=0,i=n(e[0]).x<n(e[e.length-1]).x?"left":"right";if(c===0&&Object.hasOwn(s,t.arrowTypeStart)){let{angle:a,deltaX:m}=b(e[0],e[1]);o=s[t.arrowTypeStart]*Math.cos(a)*(m>=0?1:-1)}else if(c===e.length-1&&Object.hasOwn(s,t.arrowTypeEnd)){let{angle:a,deltaX:m}=b(e[e.length-1],e[e.length-2]);o=s[t.arrowTypeEnd]*Math.cos(a)*(m>=0?1:-1)}let l=Math.abs(n(r).x-n(e[e.length-1]).x),p=Math.abs(n(r).y-n(e[e.length-1]).y),u=Math.abs(n(r).x-n(e[0]).x),x=Math.abs(n(r).y-n(e[0]).y),y=s[t.arrowTypeStart],h=s[t.arrowTypeEnd],g=1;if(l<h&&l>0&&p<h){let a=h+g-l;a*=i==="right"?-1:1,o-=a}if(u<y&&u>0&&x<y){let a=y+g-u;a*=i==="right"?-1:1,o+=a}return n(r).x+o},"x"),y:f(function(r,c,e){let o=0,i=n(e[0]).y<n(e[e.length-1]).y?"down":"up";if(c===0&&Object.hasOwn(s,t.arrowTypeStart)){let{angle:a,deltaY:m}=b(e[0],e[1]);o=s[t.arrowTypeStart]*Math.abs(Math.sin(a))*(m>=0?1:-1)}else if(c===e.length-1&&Object.hasOwn(s,t.arrowTypeEnd)){let{angle:a,deltaY:m}=b(e[e.length-1],e[e.length-2]);o=s[t.arrowTypeEnd]*Math.abs(Math.sin(a))*(m>=0?1:-1)}let l=Math.abs(n(r).y-n(e[e.length-1]).y),p=Math.abs(n(r).x-n(e[e.length-1]).x),u=Math.abs(n(r).y-n(e[0]).y),x=Math.abs(n(r).x-n(e[0]).x),y=s[t.arrowTypeStart],h=s[t.arrowTypeEnd],g=1;if(l<h&&l>0&&p<h){let a=h+g-l;a*=i==="up"?-1:1,o-=a}if(u<y&&u>0&&x<y){let a=y+g-u;a*=i==="up"?-1:1,o+=a}return n(r).y+o},"y")}),"getLineFunctionsWithOffset");export{d as a,s as b,T as c,E as d};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
import{a as n,b as s,c as o,d as u,e as v,f as e,g as d,l as c,q as l,s as m}from"./chunk-FXACKDTF.mjs";import{a as t}from"./chunk-VELTKBKT.mjs";var C=class extends m{static{t(this,"PieTokenBuilder")}static{e(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},P=class extends l{static{t(this,"PieValueConverter")}static{e(this,"PieValueConverter")}runCustomConverter(a,r,i){if(a.name==="PIE_SECTION_LABEL")return r.replace(/"/g,"").trim()}},p={parser:{TokenBuilder:e(()=>new C,"TokenBuilder"),ValueConverter:e(()=>new P,"ValueConverter")}};function M(a=u){let r=o(s(a),d),i=o(n({shared:r}),c,p);return r.ServiceRegistry.register(i),{shared:r,Pie:i}}t(M,"createPieServices");e(M,"createPieServices");export{p as a,M as b};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../../parser/dist/chunks/mermaid-parser.core/chunk-AA7GKIK3.mjs"],
"sourcesContent": ["import {\n AbstractMermaidTokenBuilder,\n AbstractMermaidValueConverter,\n MermaidGeneratedSharedModule,\n PieGrammarGeneratedModule,\n __name\n} from \"./chunk-K5T4RW27.mjs\";\n\n// src/language/pie/module.ts\nimport {\n EmptyFileSystem,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject\n} from \"langium\";\n\n// src/language/pie/tokenBuilder.ts\nvar PieTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"PieTokenBuilder\");\n }\n constructor() {\n super([\"pie\", \"showData\"]);\n }\n};\n\n// src/language/pie/valueConverter.ts\nvar PieValueConverter = class extends AbstractMermaidValueConverter {\n static {\n __name(this, \"PieValueConverter\");\n }\n runCustomConverter(rule, input, _cstNode) {\n if (rule.name !== \"PIE_SECTION_LABEL\") {\n return void 0;\n }\n return input.replace(/\"/g, \"\").trim();\n }\n};\n\n// src/language/pie/module.ts\nvar PieModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new PieTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new PieValueConverter(), \"ValueConverter\")\n }\n};\nfunction createPieServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Pie = inject(\n createDefaultCoreModule({ shared }),\n PieGrammarGeneratedModule,\n PieModule\n );\n shared.ServiceRegistry.register(Pie);\n return { shared, Pie };\n}\n__name(createPieServices, \"createPieServices\");\n\nexport {\n PieModule,\n createPieServices\n};\n"],
"mappings": "iJAiBA,IAAIA,EAAkB,cAAcC,CAA4B,CAjBhE,MAiBgE,CAAAC,EAAA,wBAC9D,MAAO,CACLA,EAAO,KAAM,iBAAiB,CAChC,CACA,aAAc,CACZ,MAAM,CAAC,MAAO,UAAU,CAAC,CAC3B,CACF,EAGIC,EAAoB,cAAcC,CAA8B,CA3BpE,MA2BoE,CAAAF,EAAA,0BAClE,MAAO,CACLA,EAAO,KAAM,mBAAmB,CAClC,CACA,mBAAmBG,EAAMC,EAAOC,EAAU,CACxC,GAAIF,EAAK,OAAS,oBAGlB,OAAOC,EAAM,QAAQ,KAAM,EAAE,EAAE,KAAK,CACtC,CACF,EAGIE,EAAY,CACd,OAAQ,CACN,aAA8BN,EAAO,IAAM,IAAIF,EAAmB,cAAc,EAChF,eAAgCE,EAAO,IAAM,IAAIC,EAAqB,gBAAgB,CACxF,CACF,EACA,SAASM,EAAkBC,EAAUC,EAAiB,CACpD,IAAMC,EAASC,EACbC,EAA8BJ,CAAO,EACrCK,CACF,EACMC,EAAMH,EACVI,EAAwB,CAAE,OAAAL,CAAO,CAAC,EAClCM,EACAV,CACF,EACA,OAAAI,EAAO,gBAAgB,SAASI,CAAG,EAC5B,CAAE,OAAAJ,EAAQ,IAAAI,CAAI,CACvB,CAZSd,EAAAO,EAAA,qBAaTP,EAAOO,EAAmB,mBAAmB",
"names": ["PieTokenBuilder", "AbstractMermaidTokenBuilder", "__name", "PieValueConverter", "AbstractMermaidValueConverter", "rule", "input", "_cstNode", "PieModule", "createPieServices", "context", "EmptyFileSystem", "shared", "inject", "createDefaultSharedCoreModule", "MermaidGeneratedSharedModule", "Pie", "createDefaultCoreModule", "PieGrammarGeneratedModule"]
}
@@ -0,0 +1 @@
import{Y as c}from"./chunk-5YUVU3PZ.mjs";import{a as i}from"./chunk-VELTKBKT.mjs";var u=i(t=>{let{handDrawnSeed:s}=c();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:s}},"solidStateFill"),p=i(t=>{let s=h([...t.cssCompiledStyles||[],...t.cssStyles||[],...t.labelStyle||[]]);return{stylesMap:s,stylesArray:[...s]}},"compileStyles"),h=i(t=>{let s=new Map;return t.forEach(o=>{let[n,r]=o.split(":");s.set(n.trim(),r?.trim())}),s},"styles2Map"),g=i(t=>t==="color"||t==="font-size"||t==="font-family"||t==="font-weight"||t==="font-style"||t==="text-decoration"||t==="text-align"||t==="text-transform"||t==="line-height"||t==="letter-spacing"||t==="word-spacing"||t==="text-shadow"||t==="text-overflow"||t==="white-space"||t==="word-wrap"||t==="word-break"||t==="overflow-wrap"||t==="hyphens","isLabelStyle"),m=i(t=>{let{stylesArray:s}=p(t),o=[],n=[],r=[],l=[];return s.forEach(e=>{let a=e[0];g(a)?o.push(e.join(":")+" !important"):(n.push(e.join(":")+" !important"),a.includes("stroke")&&r.push(e.join(":")+" !important"),a==="fill"&&l.push(e.join(":")+" !important"))}),{labelStyles:o.join(";"),nodeStyles:n.join(";"),stylesArray:s,borderStyles:r,backgroundStyles:l}},"styles2String"),S=i((t,s)=>{let{themeVariables:o,handDrawnSeed:n}=c(),{nodeBorder:r,mainBkg:l}=o,{stylesMap:e}=p(t);return Object.assign({roughness:.7,fill:e.get("fill")||l,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:e.get("stroke")||r,seed:n,strokeWidth:e.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:d(e.get("stroke-dasharray"))},s)},"userNodeOverrides"),d=i(t=>{if(!t)return[0,0];let s=t.trim().split(/\s+/).map(Number);if(s.length===1){let r=isNaN(s[0])?0:s[0];return[r,r]}let o=isNaN(s[0])?0:s[0],n=isNaN(s[1])?0:s[1];return[o,n]},"getStrokeDashArray");export{u as a,p as b,g as c,m as d,S as e};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../src/rendering-util/rendering-elements/shapes/handDrawnShapeStyles.ts"],
"sourcesContent": ["import { getConfig } from '../../../diagram-api/diagramAPI.js';\nimport type { Node } from '../../types.js';\n\n// Striped fill like start or fork nodes in state diagrams\nexport const solidStateFill = (color: string) => {\n const { handDrawnSeed } = getConfig();\n return {\n fill: color,\n hachureAngle: 120, // angle of hachure,\n hachureGap: 4,\n fillWeight: 2,\n roughness: 0.7,\n stroke: color,\n seed: handDrawnSeed,\n };\n};\n\nexport const compileStyles = (node: Node) => {\n // node.cssCompiledStyles is an array of strings in the form of 'key: value' where key is the css property and value is the value\n // the array is the styles of node from the classes it is using\n // node.cssStyles is an array of styles directly set on the node\n // concat the arrays and remove duplicates such that the values from node.cssStyles are used if there are duplicates\n const stylesMap = styles2Map([\n ...(node.cssCompiledStyles || []),\n ...(node.cssStyles || []),\n ...(node.labelStyle || []),\n ]);\n return { stylesMap, stylesArray: [...stylesMap] };\n};\n\nexport const styles2Map = (styles: string[]) => {\n const styleMap = new Map<string, string>();\n styles.forEach((style) => {\n const [key, value] = style.split(':');\n styleMap.set(key.trim(), value?.trim());\n });\n return styleMap;\n};\nexport const isLabelStyle = (key: string) => {\n return (\n key === 'color' ||\n key === 'font-size' ||\n key === 'font-family' ||\n key === 'font-weight' ||\n key === 'font-style' ||\n key === 'text-decoration' ||\n key === 'text-align' ||\n key === 'text-transform' ||\n key === 'line-height' ||\n key === 'letter-spacing' ||\n key === 'word-spacing' ||\n key === 'text-shadow' ||\n key === 'text-overflow' ||\n key === 'white-space' ||\n key === 'word-wrap' ||\n key === 'word-break' ||\n key === 'overflow-wrap' ||\n key === 'hyphens'\n );\n};\nexport const styles2String = (node: Node) => {\n const { stylesArray } = compileStyles(node);\n const labelStyles: string[] = [];\n const nodeStyles: string[] = [];\n const borderStyles: string[] = [];\n const backgroundStyles: string[] = [];\n\n stylesArray.forEach((style) => {\n const key = style[0];\n if (isLabelStyle(key)) {\n labelStyles.push(style.join(':') + ' !important');\n } else {\n nodeStyles.push(style.join(':') + ' !important');\n if (key.includes('stroke')) {\n borderStyles.push(style.join(':') + ' !important');\n }\n if (key === 'fill') {\n backgroundStyles.push(style.join(':') + ' !important');\n }\n }\n });\n\n return {\n labelStyles: labelStyles.join(';'),\n nodeStyles: nodeStyles.join(';'),\n stylesArray,\n borderStyles,\n backgroundStyles,\n };\n};\n\n// Striped fill like start or fork nodes in state diagrams\n// TODO remove any\nexport const userNodeOverrides = (node: Node, options: any) => {\n const { themeVariables, handDrawnSeed } = getConfig();\n const { nodeBorder, mainBkg } = themeVariables;\n const { stylesMap } = compileStyles(node);\n\n // index the style array to a map object\n const result = Object.assign(\n {\n roughness: 0.7,\n fill: stylesMap.get('fill') || mainBkg,\n fillStyle: 'hachure', // solid fill\n fillWeight: 4,\n hachureGap: 5.2,\n stroke: stylesMap.get('stroke') || nodeBorder,\n seed: handDrawnSeed,\n strokeWidth: stylesMap.get('stroke-width')?.replace('px', '') || 1.3,\n fillLineDash: [0, 0],\n strokeLineDash: getStrokeDashArray(stylesMap.get('stroke-dasharray')),\n },\n options\n );\n return result;\n};\n\nconst getStrokeDashArray = (strokeDasharrayStyle?: string) => {\n if (!strokeDasharrayStyle) {\n return [0, 0];\n }\n const dashArray = strokeDasharrayStyle.trim().split(/\\s+/).map(Number);\n if (dashArray.length === 1) {\n const val = isNaN(dashArray[0]) ? 0 : dashArray[0];\n return [val, val];\n }\n const first = isNaN(dashArray[0]) ? 0 : dashArray[0];\n const second = isNaN(dashArray[1]) ? 0 : dashArray[1];\n return [first, second];\n};\n"],
"mappings": "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",
"names": ["solidStateFill", "__name", "color", "handDrawnSeed", "getConfig", "compileStyles", "node", "stylesMap", "styles2Map", "styles", "styleMap", "style", "key", "value", "isLabelStyle", "styles2String", "stylesArray", "labelStyles", "nodeStyles", "borderStyles", "backgroundStyles", "userNodeOverrides", "options", "themeVariables", "nodeBorder", "mainBkg", "getStrokeDashArray", "strokeDasharrayStyle", "dashArray", "val", "first", "second"]
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
import{a as o,b as n,c as a,d as u,e as p,f as e,g as d,i as G,r as l,s}from"./chunk-FXACKDTF.mjs";import{a as t}from"./chunk-VELTKBKT.mjs";var m=class extends s{static{t(this,"GitGraphTokenBuilder")}static{e(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},h={parser:{TokenBuilder:e(()=>new m,"TokenBuilder"),ValueConverter:e(()=>new l,"ValueConverter")}};function v(c=u){let r=a(n(c),d),i=a(o({shared:r}),G,h);return r.ServiceRegistry.register(i),{shared:r,GitGraph:i}}t(v,"createGitGraphServices");e(v,"createGitGraphServices");export{h as a,v as b};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../../parser/dist/chunks/mermaid-parser.core/chunk-67CJDMHE.mjs"],
"sourcesContent": ["import {\n AbstractMermaidTokenBuilder,\n CommonValueConverter,\n GitGraphGrammarGeneratedModule,\n MermaidGeneratedSharedModule,\n __name\n} from \"./chunk-K5T4RW27.mjs\";\n\n// src/language/gitGraph/module.ts\nimport {\n inject,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n EmptyFileSystem\n} from \"langium\";\n\n// src/language/gitGraph/tokenBuilder.ts\nvar GitGraphTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"GitGraphTokenBuilder\");\n }\n constructor() {\n super([\"gitGraph\"]);\n }\n};\n\n// src/language/gitGraph/module.ts\nvar GitGraphModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new GitGraphTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new CommonValueConverter(), \"ValueConverter\")\n }\n};\nfunction createGitGraphServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const GitGraph = inject(\n createDefaultCoreModule({ shared }),\n GitGraphGrammarGeneratedModule,\n GitGraphModule\n );\n shared.ServiceRegistry.register(GitGraph);\n return { shared, GitGraph };\n}\n__name(createGitGraphServices, \"createGitGraphServices\");\n\nexport {\n GitGraphModule,\n createGitGraphServices\n};\n"],
"mappings": "4IAiBA,IAAIA,EAAuB,cAAcC,CAA4B,CAjBrE,MAiBqE,CAAAC,EAAA,6BACnE,MAAO,CACLA,EAAO,KAAM,sBAAsB,CACrC,CACA,aAAc,CACZ,MAAM,CAAC,UAAU,CAAC,CACpB,CACF,EAGIC,EAAiB,CACnB,OAAQ,CACN,aAA8BD,EAAO,IAAM,IAAIF,EAAwB,cAAc,EACrF,eAAgCE,EAAO,IAAM,IAAIE,EAAwB,gBAAgB,CAC3F,CACF,EACA,SAASC,EAAuBC,EAAUC,EAAiB,CACzD,IAAMC,EAASC,EACbC,EAA8BJ,CAAO,EACrCK,CACF,EACMC,EAAWH,EACfI,EAAwB,CAAE,OAAAL,CAAO,CAAC,EAClCM,EACAX,CACF,EACA,OAAAK,EAAO,gBAAgB,SAASI,CAAQ,EACjC,CAAE,OAAAJ,EAAQ,SAAAI,CAAS,CAC5B,CAZSV,EAAAG,EAAA,0BAaTH,EAAOG,EAAwB,wBAAwB",
"names": ["GitGraphTokenBuilder", "AbstractMermaidTokenBuilder", "__name", "GitGraphModule", "CommonValueConverter", "createGitGraphServices", "context", "EmptyFileSystem", "shared", "inject", "createDefaultSharedCoreModule", "MermaidGeneratedSharedModule", "GitGraph", "createDefaultCoreModule", "GitGraphGrammarGeneratedModule"]
}
@@ -0,0 +1 @@
import{a as r}from"./chunk-VELTKBKT.mjs";function c(i,e){i.accDescr&&e.setAccDescription?.(i.accDescr),i.accTitle&&e.setAccTitle?.(i.accTitle),i.title&&e.setDiagramTitle?.(i.title)}r(c,"populateCommonDb");export{c as a};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../src/diagrams/common/populateCommonDb.ts"],
"sourcesContent": ["import type { DiagramAST } from '@mermaid-js/parser';\nimport type { DiagramDB } from '../../diagram-api/types.js';\n\nexport function populateCommonDb(ast: DiagramAST, db: DiagramDB) {\n if (ast.accDescr) {\n db.setAccDescription?.(ast.accDescr);\n }\n if (ast.accTitle) {\n db.setAccTitle?.(ast.accTitle);\n }\n if (ast.title) {\n db.setDiagramTitle?.(ast.title);\n }\n}\n"],
"mappings": "yCAGO,SAASA,EAAiBC,EAAiBC,EAAe,CAC3DD,EAAI,UACNC,EAAG,oBAAoBD,EAAI,QAAQ,EAEjCA,EAAI,UACNC,EAAG,cAAcD,EAAI,QAAQ,EAE3BA,EAAI,OACNC,EAAG,kBAAkBD,EAAI,KAAK,CAElC,CAVgBE,EAAAH,EAAA",
"names": ["populateCommonDb", "ast", "db", "__name"]
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
import{a as l,b as n,c as d,d as s,e as m,f as r,g as u,p as i,q as c}from"./chunk-FXACKDTF.mjs";import{a as o}from"./chunk-VELTKBKT.mjs";var v=class extends c{static{o(this,"WardleyValueConverter")}static{r(this,"WardleyValueConverter")}runCustomConverter(t,e,a){switch(t.name.toUpperCase()){case"LINK_LABEL":return e.substring(1).trim();default:return}}},y={parser:{ValueConverter:r(()=>new v,"ValueConverter")}};function C(t=s){let e=d(n(t),u),a=d(l({shared:e}),i,y);return e.ServiceRegistry.register(a),{shared:e,Wardley:a}}o(C,"createWardleyServices");r(C,"createWardleyServices");export{y as a,C as b};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../../parser/dist/chunks/mermaid-parser.core/chunk-CIAEETIT.mjs"],
"sourcesContent": ["import {\n AbstractMermaidValueConverter,\n MermaidGeneratedSharedModule,\n WardleyGrammarGeneratedModule,\n __name\n} from \"./chunk-K5T4RW27.mjs\";\n\n// src/language/wardley/module.ts\nimport {\n EmptyFileSystem,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject\n} from \"langium\";\n\n// src/language/wardley/valueConverter.ts\nvar WardleyValueConverter = class extends AbstractMermaidValueConverter {\n static {\n __name(this, \"WardleyValueConverter\");\n }\n runCustomConverter(rule, input, _cstNode) {\n switch (rule.name.toUpperCase()) {\n case \"LINK_LABEL\":\n return input.substring(1).trim();\n default:\n return void 0;\n }\n }\n};\n\n// src/language/wardley/module.ts\nvar WardleyModule = {\n parser: {\n ValueConverter: /* @__PURE__ */ __name(() => new WardleyValueConverter(), \"ValueConverter\")\n }\n};\nfunction createWardleyServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Wardley = inject(\n createDefaultCoreModule({ shared }),\n WardleyGrammarGeneratedModule,\n WardleyModule\n );\n shared.ServiceRegistry.register(Wardley);\n return { shared, Wardley };\n}\n__name(createWardleyServices, \"createWardleyServices\");\n\nexport {\n WardleyModule,\n createWardleyServices\n};\n"],
"mappings": "0IAgBA,IAAIA,EAAwB,cAAcC,CAA8B,CAhBxE,MAgBwE,CAAAC,EAAA,8BACtE,MAAO,CACLA,EAAO,KAAM,uBAAuB,CACtC,CACA,mBAAmBC,EAAMC,EAAOC,EAAU,CACxC,OAAQF,EAAK,KAAK,YAAY,EAAG,CAC/B,IAAK,aACH,OAAOC,EAAM,UAAU,CAAC,EAAE,KAAK,EACjC,QACE,MACJ,CACF,CACF,EAGIE,EAAgB,CAClB,OAAQ,CACN,eAAgCJ,EAAO,IAAM,IAAIF,EAAyB,gBAAgB,CAC5F,CACF,EACA,SAASO,EAAsBC,EAAUC,EAAiB,CACxD,IAAMC,EAASC,EACbC,EAA8BJ,CAAO,EACrCK,CACF,EACMC,EAAUH,EACdI,EAAwB,CAAE,OAAAL,CAAO,CAAC,EAClCM,EACAV,CACF,EACA,OAAAI,EAAO,gBAAgB,SAASI,CAAO,EAChC,CAAE,OAAAJ,EAAQ,QAAAI,CAAQ,CAC3B,CAZSZ,EAAAK,EAAA,yBAaTL,EAAOK,EAAuB,uBAAuB",
"names": ["WardleyValueConverter", "AbstractMermaidValueConverter", "__name", "rule", "input", "_cstNode", "WardleyModule", "createWardleyServices", "context", "EmptyFileSystem", "shared", "inject", "createDefaultSharedCoreModule", "MermaidGeneratedSharedModule", "Wardley", "createDefaultCoreModule", "WardleyGrammarGeneratedModule"]
}
@@ -0,0 +1,3 @@
import{f as t}from"./chunk-FXACKDTF.mjs";import{a as n}from"./chunk-VELTKBKT.mjs";var i={},m={info:t(async()=>{let{createInfoServices:e}=await import("./info-OMHHGYJF-BF2H5H6G.mjs"),r=e().Info.parser.LangiumParser;i.info=r},"info"),packet:t(async()=>{let{createPacketServices:e}=await import("./packet-4T2RLAQJ-EV4IVRXR.mjs"),r=e().Packet.parser.LangiumParser;i.packet=r},"packet"),pie:t(async()=>{let{createPieServices:e}=await import("./pie-ZZUOXDRM-N23DN5KN.mjs"),r=e().Pie.parser.LangiumParser;i.pie=r},"pie"),treeView:t(async()=>{let{createTreeViewServices:e}=await import("./treeView-SZITEDCU-5DXDK3XO.mjs"),r=e().TreeView.parser.LangiumParser;i.treeView=r},"treeView"),architecture:t(async()=>{let{createArchitectureServices:e}=await import("./architecture-YZFGNWBL-S5CXDPWN.mjs"),r=e().Architecture.parser.LangiumParser;i.architecture=r},"architecture"),gitGraph:t(async()=>{let{createGitGraphServices:e}=await import("./gitGraph-7Q5UKJZL-54BCDZD5.mjs"),r=e().GitGraph.parser.LangiumParser;i.gitGraph=r},"gitGraph"),radar:t(async()=>{let{createRadarServices:e}=await import("./radar-PYXPWWZC-P6TP7ZYP.mjs"),r=e().Radar.parser.LangiumParser;i.radar=r},"radar"),treemap:t(async()=>{let{createTreemapServices:e}=await import("./treemap-W4RFUUIX-WYLRDWKO.mjs"),r=e().Treemap.parser.LangiumParser;i.treemap=r},"treemap"),wardley:t(async()=>{let{createWardleyServices:e}=await import("./wardley-RL74JXVD-BCRCBASE.mjs"),r=e().Wardley.parser.LangiumParser;i.wardley=r},"wardley")};async function d(e,r){let o=m[e];if(!o)throw new Error(`Unknown diagram type: ${e}`);i[e]||await o();let s=i[e].parse(r);if(s.lexerErrors.length>0||s.parserErrors.length>0)throw new p(s);return s.value}n(d,"parse");t(d,"parse");var p=class extends Error{static{n(this,"MermaidParseError")}constructor(e){let r=e.lexerErrors.map(a=>{let s=a.line!==void 0&&!isNaN(a.line)?a.line:"?",c=a.column!==void 0&&!isNaN(a.column)?a.column:"?";return`Lexer error on line ${s}, column ${c}: ${a.message}`}).join(`
`),o=e.parserErrors.map(a=>{let s=a.token.startLine!==void 0&&!isNaN(a.token.startLine)?a.token.startLine:"?",c=a.token.startColumn!==void 0&&!isNaN(a.token.startColumn)?a.token.startColumn:"?";return`Parse error on line ${s}, column ${c}: ${a.message}`}).join(`
`);super(`Parsing failed: ${r} ${o}`),this.result=e}static{t(this,"MermaidParseError")}};export{d as a};
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
import{a as c,b as n,c as a,d as i,e as m,f as e,g as u,k as d,r as l,s}from"./chunk-FXACKDTF.mjs";import{a as t}from"./chunk-VELTKBKT.mjs";var v=class extends s{static{t(this,"PacketTokenBuilder")}static{e(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},p={parser:{TokenBuilder:e(()=>new v,"TokenBuilder"),ValueConverter:e(()=>new l,"ValueConverter")}};function M(k=i){let r=a(n(k),u),o=a(c({shared:r}),d,p);return r.ServiceRegistry.register(o),{shared:r,Packet:o}}t(M,"createPacketServices");e(M,"createPacketServices");export{p as a,M as b};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../../parser/dist/chunks/mermaid-parser.core/chunk-FOC6F5B3.mjs"],
"sourcesContent": ["import {\n AbstractMermaidTokenBuilder,\n CommonValueConverter,\n MermaidGeneratedSharedModule,\n PacketGrammarGeneratedModule,\n __name\n} from \"./chunk-K5T4RW27.mjs\";\n\n// src/language/packet/module.ts\nimport {\n EmptyFileSystem,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject\n} from \"langium\";\n\n// src/language/packet/tokenBuilder.ts\nvar PacketTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"PacketTokenBuilder\");\n }\n constructor() {\n super([\"packet\"]);\n }\n};\n\n// src/language/packet/module.ts\nvar PacketModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new PacketTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new CommonValueConverter(), \"ValueConverter\")\n }\n};\nfunction createPacketServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Packet = inject(\n createDefaultCoreModule({ shared }),\n PacketGrammarGeneratedModule,\n PacketModule\n );\n shared.ServiceRegistry.register(Packet);\n return { shared, Packet };\n}\n__name(createPacketServices, \"createPacketServices\");\n\nexport {\n PacketModule,\n createPacketServices\n};\n"],
"mappings": "4IAiBA,IAAIA,EAAqB,cAAcC,CAA4B,CAjBnE,MAiBmE,CAAAC,EAAA,2BACjE,MAAO,CACLA,EAAO,KAAM,oBAAoB,CACnC,CACA,aAAc,CACZ,MAAM,CAAC,QAAQ,CAAC,CAClB,CACF,EAGIC,EAAe,CACjB,OAAQ,CACN,aAA8BD,EAAO,IAAM,IAAIF,EAAsB,cAAc,EACnF,eAAgCE,EAAO,IAAM,IAAIE,EAAwB,gBAAgB,CAC3F,CACF,EACA,SAASC,EAAqBC,EAAUC,EAAiB,CACvD,IAAMC,EAASC,EACbC,EAA8BJ,CAAO,EACrCK,CACF,EACMC,EAASH,EACbI,EAAwB,CAAE,OAAAL,CAAO,CAAC,EAClCM,EACAX,CACF,EACA,OAAAK,EAAO,gBAAgB,SAASI,CAAM,EAC/B,CAAE,OAAAJ,EAAQ,OAAAI,CAAO,CAC1B,CAZSV,EAAAG,EAAA,wBAaTH,EAAOG,EAAsB,sBAAsB",
"names": ["PacketTokenBuilder", "AbstractMermaidTokenBuilder", "__name", "PacketModule", "CommonValueConverter", "createPacketServices", "context", "EmptyFileSystem", "shared", "inject", "createDefaultSharedCoreModule", "MermaidGeneratedSharedModule", "Packet", "createDefaultCoreModule", "PacketGrammarGeneratedModule"]
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,15 @@
import{a as e}from"./chunk-VELTKBKT.mjs";var o=e(()=>`
/* Font Awesome icon styling - consolidated */
.label-icon {
display: inline-block;
height: 1em;
overflow: visible;
vertical-align: -0.125em;
}
.node .label-icon path {
fill: currentColor;
stroke: revert;
stroke-width: revert;
}
`,"getIconStyles");export{o as a};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../src/diagrams/globalStyles.ts"],
"sourcesContent": ["export const getIconStyles = () => `\n /* Font Awesome icon styling - consolidated */\n .label-icon {\n display: inline-block;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n }\n \n .node .label-icon path {\n fill: currentColor;\n stroke: revert;\n stroke-width: revert;\n }\n`;\n"],
"mappings": "yCAAO,IAAMA,EAAgBC,EAAA,IAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAN",
"names": ["getIconStyles", "__name"]
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
import{a as c}from"./chunk-XBXGYYE5.mjs";import{y as p}from"./chunk-5YUVU3PZ.mjs";import{h as l}from"./chunk-MGPAVIPZ.mjs";import{a as o,f as m}from"./chunk-VELTKBKT.mjs";var a=m(c(),1);var x=o((r,t)=>{let e=r.append("rect");if(e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),t.name&&e.attr("name",t.name),t.rx&&e.attr("rx",t.rx),t.ry&&e.attr("ry",t.ry),t.attrs!==void 0)for(let n in t.attrs)e.attr(n,t.attrs[n]);return t.class&&e.attr("class",t.class),e},"drawRect"),g=o((r,t)=>{let e={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};x(r,e).lower()},"drawBackgroundRect"),f=o((r,t)=>{let e=t.text.replace(p," "),n=r.append("text");n.attr("x",t.x),n.attr("y",t.y),n.attr("class","legend"),n.style("text-anchor",t.anchor),t.class&&n.attr("class",t.class);let s=n.append("tspan");return s.attr("x",t.x+t.textMargin*2),s.text(e),n},"drawText"),E=o((r,t,e,n)=>{let s=r.append("image");s.attr("x",t),s.attr("y",e);let i=(0,a.sanitizeUrl)(n);s.attr("xlink:href",i)},"drawImage"),h=o((r,t,e,n)=>{let s=r.append("use");s.attr("x",t),s.attr("y",e);let i=(0,a.sanitizeUrl)(n);s.attr("xlink:href",`#${i}`)},"drawEmbeddedImage"),u=o(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),G=o(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),T=o(()=>{let r=l(".mermaidTooltip");return r.empty()&&(r=l("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),r},"createTooltip");export{x as a,g as b,f as c,E as d,h as e,u as f,G as g,T as h};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../src/diagrams/common/svgDrawCommon.ts"],
"sourcesContent": ["import { sanitizeUrl } from '@braintree/sanitize-url';\nimport { select } from 'd3';\nimport type { SVG, SVGGroup } from '../../diagram-api/types.js';\nimport { lineBreakRegex } from './common.js';\nimport type {\n Bound,\n D3ImageElement,\n D3RectElement,\n D3TSpanElement,\n D3TextElement,\n D3UseElement,\n RectData,\n TextData,\n TextObject,\n} from './commonTypes.js';\n\nexport const drawRect = (element: SVG | SVGGroup, rectData: RectData): D3RectElement => {\n const rectElement: D3RectElement = element.append('rect');\n rectElement.attr('x', rectData.x);\n rectElement.attr('y', rectData.y);\n rectElement.attr('fill', rectData.fill);\n rectElement.attr('stroke', rectData.stroke);\n rectElement.attr('width', rectData.width);\n rectElement.attr('height', rectData.height);\n if (rectData.name) {\n rectElement.attr('name', rectData.name);\n }\n if (rectData.rx) {\n rectElement.attr('rx', rectData.rx);\n }\n if (rectData.ry) {\n rectElement.attr('ry', rectData.ry);\n }\n\n if (rectData.attrs !== undefined) {\n for (const attrKey in rectData.attrs) {\n rectElement.attr(attrKey, rectData.attrs[attrKey]);\n }\n }\n\n if (rectData.class) {\n rectElement.attr('class', rectData.class);\n }\n\n return rectElement;\n};\n\n/**\n * Draws a background rectangle\n *\n * @param element - Diagram (reference for bounds)\n * @param bounds - Shape of the rectangle\n */\nexport const drawBackgroundRect = (element: SVG | SVGGroup, bounds: Bound): void => {\n const rectData: RectData = {\n x: bounds.startx,\n y: bounds.starty,\n width: bounds.stopx - bounds.startx,\n height: bounds.stopy - bounds.starty,\n fill: bounds.fill,\n stroke: bounds.stroke,\n class: 'rect',\n };\n const rectElement: D3RectElement = drawRect(element, rectData);\n rectElement.lower();\n};\n\nexport const drawText = (element: SVG | SVGGroup, textData: TextData): D3TextElement => {\n const nText: string = textData.text.replace(lineBreakRegex, ' ');\n\n const textElem: D3TextElement = element.append('text');\n textElem.attr('x', textData.x);\n textElem.attr('y', textData.y);\n textElem.attr('class', 'legend');\n\n textElem.style('text-anchor', textData.anchor);\n if (textData.class) {\n textElem.attr('class', textData.class);\n }\n\n const tspan: D3TSpanElement = textElem.append('tspan');\n tspan.attr('x', textData.x + textData.textMargin * 2);\n tspan.text(nText);\n\n return textElem;\n};\n\nexport const drawImage = (elem: SVG | SVGGroup, x: number, y: number, link: string): void => {\n const imageElement: D3ImageElement = elem.append('image');\n imageElement.attr('x', x);\n imageElement.attr('y', y);\n const sanitizedLink: string = sanitizeUrl(link);\n imageElement.attr('xlink:href', sanitizedLink);\n};\n\nexport const drawEmbeddedImage = (\n element: SVG | SVGGroup,\n x: number,\n y: number,\n link: string\n): void => {\n const imageElement: D3UseElement = element.append('use');\n imageElement.attr('x', x);\n imageElement.attr('y', y);\n const sanitizedLink: string = sanitizeUrl(link);\n imageElement.attr('xlink:href', `#${sanitizedLink}`);\n};\n\nexport const getNoteRect = (): RectData => {\n const noteRectData: RectData = {\n x: 0,\n y: 0,\n width: 100,\n height: 100,\n fill: '#EDF2AE',\n stroke: '#666',\n anchor: 'start',\n rx: 0,\n ry: 0,\n };\n return noteRectData;\n};\n\nexport const getTextObj = (): TextObject => {\n const testObject: TextObject = {\n x: 0,\n y: 0,\n width: 100,\n height: 100,\n 'text-anchor': 'start',\n style: '#666',\n textMargin: 0,\n rx: 0,\n ry: 0,\n tspan: true,\n };\n return testObject;\n};\n\nexport const createTooltip = () => {\n let tooltipElem = select<HTMLDivElement, unknown>('.mermaidTooltip');\n if (tooltipElem.empty()) {\n tooltipElem = select('body')\n .append('div')\n .attr('class', 'mermaidTooltip')\n .style('opacity', 0)\n .style('position', 'absolute')\n .style('text-align', 'center')\n .style('max-width', '200px')\n .style('padding', '2px')\n .style('font-size', '12px')\n .style('background', '#ffffde')\n .style('border', '1px solid #333')\n .style('border-radius', '2px')\n .style('pointer-events', 'none')\n .style('z-index', '100');\n }\n return tooltipElem;\n};\n"],
"mappings": "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",
"names": ["import_sanitize_url", "drawRect", "__name", "element", "rectData", "rectElement", "attrKey", "drawBackgroundRect", "bounds", "drawText", "textData", "nText", "lineBreakRegex", "textElem", "tspan", "drawImage", "elem", "x", "y", "link", "imageElement", "sanitizedLink", "drawEmbeddedImage", "getNoteRect", "getTextObj", "createTooltip", "tooltipElem", "select_default"]
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
import{B as v,D as P,G as S,a as e,c as y,f as i,g as a,i as f,t as b,v as n,y as j,z as d}from"./chunk-JIN56HTB.mjs";import{a as m}from"./chunk-VELTKBKT.mjs";var C=b(Object.keys,Object),T=C;var V=Object.prototype,D=V.hasOwnProperty;function K(r){if(!n(r))return T(r);var t=[];for(var o in Object(r))D.call(r,o)&&o!="constructor"&&t.push(o);return t}m(K,"baseKeys");var O=K;var N=a(e,"DataView"),s=N;var W=a(e,"Promise"),c=W;var B=a(e,"Set"),g=B;var z=a(e,"WeakMap"),u=z;var M="[object Map]",E="[object Object]",h="[object Promise]",x="[object Set]",k="[object WeakMap]",l="[object DataView]",G=i(s),L=i(f),q=i(c),F=i(g),H=i(u),p=y;(s&&p(new s(new ArrayBuffer(1)))!=l||f&&p(new f)!=M||c&&p(c.resolve())!=h||g&&p(new g)!=x||u&&p(new u)!=k)&&(p=m(function(r){var t=y(r),o=t==E?r.constructor:void 0,w=o?i(o):"";if(w)switch(w){case G:return l;case L:return M;case q:return h;case F:return x;case H:return k}return t},"getTag"));var A=p;var I="[object Map]",J="[object Set]",Q=Object.prototype,R=Q.hasOwnProperty;function U(r){if(r==null)return!0;if(v(r)&&(d(r)||typeof r=="string"||typeof r.splice=="function"||P(r)||S(r)||j(r)))return!r.length;var t=A(r);if(t==I||t==J)return!r.size;if(n(r))return!O(r).length;for(var o in r)if(R.call(r,o))return!1;return!0}m(U,"isEmpty");var Cr=U;export{O as a,g as b,A as c,Cr as d};
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
import{a as o,b as s,c as n,d as u,e as m,f as r,g as d,o as l,q as c,s as T}from"./chunk-FXACKDTF.mjs";import{a}from"./chunk-VELTKBKT.mjs";var V=class extends c{static{a(this,"TreeViewValueConverter")}static{r(this,"TreeViewValueConverter")}runCustomConverter(t,e,i){if(t.name==="INDENTATION")return e?.length||0;if(t.name==="STRING2")return e.substring(1,e.length-1)}},v=class extends T{static{a(this,"TreeViewTokenBuilder")}static{r(this,"TreeViewTokenBuilder")}constructor(){super(["treeView-beta"])}},w={parser:{TokenBuilder:r(()=>new v,"TokenBuilder"),ValueConverter:r(()=>new V,"ValueConverter")}};function C(t=u){let e=n(s(t),d),i=n(o({shared:e}),l,w);return e.ServiceRegistry.register(i),{shared:e,TreeView:i}}a(C,"createTreeViewServices");r(C,"createTreeViewServices");export{w as a,C as b};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../../parser/dist/chunks/mermaid-parser.core/chunk-ORNJ4GCN.mjs"],
"sourcesContent": ["import {\n AbstractMermaidTokenBuilder,\n AbstractMermaidValueConverter,\n MermaidGeneratedSharedModule,\n TreeViewGrammarGeneratedModule,\n __name\n} from \"./chunk-K5T4RW27.mjs\";\n\n// src/language/treeView/module.ts\nimport {\n EmptyFileSystem,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject\n} from \"langium\";\n\n// src/language/treeView/valueConverter.ts\nvar TreeViewValueConverter = class extends AbstractMermaidValueConverter {\n static {\n __name(this, \"TreeViewValueConverter\");\n }\n runCustomConverter(rule, input, _cstNode) {\n if (rule.name === \"INDENTATION\") {\n return input?.length || 0;\n } else if (rule.name === \"STRING2\") {\n return input.substring(1, input.length - 1);\n }\n return void 0;\n }\n};\n\n// src/language/treeView/tokenBuilder.ts\nvar TreeViewTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"TreeViewTokenBuilder\");\n }\n constructor() {\n super([\"treeView-beta\"]);\n }\n};\n\n// src/language/treeView/module.ts\nvar TreeViewModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new TreeViewTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new TreeViewValueConverter(), \"ValueConverter\")\n }\n};\nfunction createTreeViewServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const TreeView = inject(\n createDefaultCoreModule({ shared }),\n TreeViewGrammarGeneratedModule,\n TreeViewModule\n );\n shared.ServiceRegistry.register(TreeView);\n return { shared, TreeView };\n}\n__name(createTreeViewServices, \"createTreeViewServices\");\n\nexport {\n TreeViewModule,\n createTreeViewServices\n};\n"],
"mappings": "4IAiBA,IAAIA,EAAyB,cAAcC,CAA8B,CAjBzE,MAiByE,CAAAC,EAAA,+BACvE,MAAO,CACLA,EAAO,KAAM,wBAAwB,CACvC,CACA,mBAAmBC,EAAMC,EAAOC,EAAU,CACxC,GAAIF,EAAK,OAAS,cAChB,OAAOC,GAAO,QAAU,EACnB,GAAID,EAAK,OAAS,UACvB,OAAOC,EAAM,UAAU,EAAGA,EAAM,OAAS,CAAC,CAG9C,CACF,EAGIE,EAAuB,cAAcC,CAA4B,CAhCrE,MAgCqE,CAAAL,EAAA,6BACnE,MAAO,CACLA,EAAO,KAAM,sBAAsB,CACrC,CACA,aAAc,CACZ,MAAM,CAAC,eAAe,CAAC,CACzB,CACF,EAGIM,EAAiB,CACnB,OAAQ,CACN,aAA8BN,EAAO,IAAM,IAAII,EAAwB,cAAc,EACrF,eAAgCJ,EAAO,IAAM,IAAIF,EAA0B,gBAAgB,CAC7F,CACF,EACA,SAASS,EAAuBC,EAAUC,EAAiB,CACzD,IAAMC,EAASC,EACbC,EAA8BJ,CAAO,EACrCK,CACF,EACMC,EAAWH,EACfI,EAAwB,CAAE,OAAAL,CAAO,CAAC,EAClCM,EACAV,CACF,EACA,OAAAI,EAAO,gBAAgB,SAASI,CAAQ,EACjC,CAAE,OAAAJ,EAAQ,SAAAI,CAAS,CAC5B,CAZSd,EAAAO,EAAA,0BAaTP,EAAOO,EAAwB,wBAAwB",
"names": ["TreeViewValueConverter", "AbstractMermaidValueConverter", "__name", "rule", "input", "_cstNode", "TreeViewTokenBuilder", "AbstractMermaidTokenBuilder", "TreeViewModule", "createTreeViewServices", "context", "EmptyFileSystem", "shared", "inject", "createDefaultSharedCoreModule", "MermaidGeneratedSharedModule", "TreeView", "createDefaultCoreModule", "TreeViewGrammarGeneratedModule"]
}
@@ -0,0 +1 @@
import{N as c}from"./chunk-5YUVU3PZ.mjs";import{b as h}from"./chunk-MGPAVIPZ.mjs";import{a as i}from"./chunk-VELTKBKT.mjs";var y=i((t,e,o,n)=>{t.attr("class",o);let{width:r,height:m,x:s,y:b}=w(t,e);c(t,m,r,n);let u=x(s,b,r,m,e);t.attr("viewBox",u),h.debug(`viewBox configured: ${u} with padding: ${e}`)},"setupViewPortForSVG"),w=i((t,e)=>{let o=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:o.width+e*2,height:o.height+e*2,x:o.x,y:o.y}},"calculateDimensionsWithPadding"),x=i((t,e,o,n,r)=>`${t-r} ${e-r} ${o} ${n}`,"createViewBox");export{y as a};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../src/rendering-util/setupViewPortForSVG.ts"],
"sourcesContent": ["import { configureSvgSize } from '../setupGraphViewbox.js';\nimport type { SVG } from '../diagram-api/types.js';\nimport { log } from '../logger.js';\n\nexport const setupViewPortForSVG = (\n svg: SVG,\n padding: number,\n cssDiagram: string,\n useMaxWidth: boolean\n) => {\n // Initialize the SVG element and set the diagram class\n svg.attr('class', cssDiagram);\n\n // Calculate the dimensions and position with padding\n const { width, height, x, y } = calculateDimensionsWithPadding(svg, padding);\n\n // Configure the size and aspect ratio of the SVG\n configureSvgSize(svg, height, width, useMaxWidth);\n\n // Update the viewBox to ensure all content is visible with padding\n const viewBox = createViewBox(x, y, width, height, padding);\n svg.attr('viewBox', viewBox);\n\n // Log the viewBox configuration for debugging\n log.debug(`viewBox configured: ${viewBox} with padding: ${padding}`);\n};\n\nconst calculateDimensionsWithPadding = (svg: SVG, padding: number) => {\n const bounds = svg.node()?.getBBox() || { width: 0, height: 0, x: 0, y: 0 };\n return {\n width: bounds.width + padding * 2,\n height: bounds.height + padding * 2,\n x: bounds.x,\n y: bounds.y,\n };\n};\n\nconst createViewBox = (x: number, y: number, width: number, height: number, padding: number) => {\n return `${x - padding} ${y - padding} ${width} ${height}`;\n};\n"],
"mappings": "2HAIO,IAAMA,EAAsBC,EAAA,CACjCC,EACAC,EACAC,EACAC,IACG,CAEHH,EAAI,KAAK,QAASE,CAAU,EAG5B,GAAM,CAAE,MAAAE,EAAO,OAAAC,EAAQ,EAAAC,EAAG,EAAAC,CAAE,EAAIC,EAA+BR,EAAKC,CAAO,EAG3EQ,EAAiBT,EAAKK,EAAQD,EAAOD,CAAW,EAGhD,IAAMO,EAAUC,EAAcL,EAAGC,EAAGH,EAAOC,EAAQJ,CAAO,EAC1DD,EAAI,KAAK,UAAWU,CAAO,EAG3BE,EAAI,MAAM,uBAAuBF,CAAO,kBAAkBT,CAAO,EAAE,CACrE,EArBmC,uBAuB7BO,EAAiCT,EAAA,CAACC,EAAUC,IAAoB,CACpE,IAAMY,EAASb,EAAI,KAAK,GAAG,QAAQ,GAAK,CAAE,MAAO,EAAG,OAAQ,EAAG,EAAG,EAAG,EAAG,CAAE,EAC1E,MAAO,CACL,MAAOa,EAAO,MAAQZ,EAAU,EAChC,OAAQY,EAAO,OAASZ,EAAU,EAClC,EAAGY,EAAO,EACV,EAAGA,EAAO,CACZ,CACF,EARuC,kCAUjCF,EAAgBZ,EAAA,CAACO,EAAWC,EAAWH,EAAeC,EAAgBJ,IACnE,GAAGK,EAAIL,CAAO,IAAIM,EAAIN,CAAO,IAAIG,CAAK,IAAIC,CAAM,GADnC",
"names": ["setupViewPortForSVG", "__name", "svg", "padding", "cssDiagram", "useMaxWidth", "width", "height", "x", "y", "calculateDimensionsWithPadding", "configureSvgSize", "viewBox", "createViewBox", "log", "bounds"]
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
import{k as p}from"./chunk-2HR5LOFI.mjs";import{Y as s,j as m}from"./chunk-5YUVU3PZ.mjs";import{a as o}from"./chunk-VELTKBKT.mjs";var d=o(({flowchart:n})=>{let i=n?.subGraphTitleMargin?.top??0,e=n?.subGraphTitleMargin?.bottom??0,r=i+e;return{subGraphTitleTopMargin:i,subGraphTitleBottomMargin:e,subGraphTitleTotalMargin:r}},"getSubGraphTitleMargins");async function G(n,i){let e=n.getElementsByTagName("img");if(!e||e.length===0)return;let r=i.replace(/<img[^>]*>/g,"").trim()==="";await Promise.all([...e].map(t=>new Promise(g=>{function a(){if(t.style.display="flex",t.style.flexDirection="column",r){let c=s().fontSize?s().fontSize:window.getComputedStyle(document.body).fontSize,u=5,[f=m.fontSize]=p(c),l=f*u+"px";t.style.minWidth=l,t.style.maxWidth=l}else t.style.width="100%";g(t)}o(a,"setupImage"),setTimeout(()=>{t.complete&&a()}),t.addEventListener("error",a),t.addEventListener("load",a)})))}o(G,"configureLabelImages");export{G as a,d as b};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../src/utils/subGraphTitleMargins.ts", "../../../src/rendering-util/rendering-elements/shapes/labelImageUtils.ts"],
"sourcesContent": ["import type { FlowchartDiagramConfig } from '../config.type.js';\n\nexport const getSubGraphTitleMargins = ({\n flowchart,\n}: {\n flowchart: FlowchartDiagramConfig;\n}): {\n subGraphTitleTopMargin: number;\n subGraphTitleBottomMargin: number;\n subGraphTitleTotalMargin: number;\n} => {\n const subGraphTitleTopMargin = flowchart?.subGraphTitleMargin?.top ?? 0;\n const subGraphTitleBottomMargin = flowchart?.subGraphTitleMargin?.bottom ?? 0;\n const subGraphTitleTotalMargin = subGraphTitleTopMargin + subGraphTitleBottomMargin;\n\n return {\n subGraphTitleTopMargin,\n subGraphTitleBottomMargin,\n subGraphTitleTotalMargin,\n };\n};\n", "import { getConfig } from '../../../diagram-api/diagramAPI.js';\nimport defaultConfig from '../../../defaultConfig.js';\nimport { parseFontSize } from '../../../utils.js';\n\n/**\n * Waits for all images in a container to load and applies appropriate styling.\n * This ensures accurate bounding box measurements after images are loaded.\n *\n * @param container - The HTML element containing img tags\n * @param labelText - The original label text to check if there's text besides images\n * @returns Promise that resolves when all images are loaded and styled\n */\nexport async function configureLabelImages(\n container: HTMLElement,\n labelText: string\n): Promise<void> {\n const images = container.getElementsByTagName('img');\n if (!images || images.length === 0) {\n return;\n }\n\n const noImgText = labelText.replace(/<img[^>]*>/g, '').trim() === '';\n\n await Promise.all(\n [...images].map(\n (img) =>\n new Promise((res) => {\n function setupImage() {\n img.style.display = 'flex';\n img.style.flexDirection = 'column';\n\n if (noImgText) {\n // default size if no text\n const bodyFontSize = getConfig().fontSize\n ? getConfig().fontSize\n : window.getComputedStyle(document.body).fontSize;\n const enlargingFactor = 5;\n const [parsedBodyFontSize = defaultConfig.fontSize] = parseFontSize(bodyFontSize);\n const width = parsedBodyFontSize * enlargingFactor + 'px';\n img.style.minWidth = width;\n img.style.maxWidth = width;\n } else {\n img.style.width = '100%';\n }\n res(img);\n }\n setTimeout(() => {\n if (img.complete) {\n setupImage();\n }\n });\n img.addEventListener('error', setupImage);\n img.addEventListener('load', setupImage);\n })\n )\n );\n}\n"],
"mappings": "kIAEO,IAAMA,EAA0BC,EAAA,CAAC,CACtC,UAAAC,CACF,IAMK,CACH,IAAMC,EAAyBD,GAAW,qBAAqB,KAAO,EAChEE,EAA4BF,GAAW,qBAAqB,QAAU,EACtEG,EAA2BF,EAAyBC,EAE1D,MAAO,CACL,uBAAAD,EACA,0BAAAC,EACA,yBAAAC,CACF,CACF,EAlBuC,2BCUvC,eAAsBC,EACpBC,EACAC,EACe,CACf,IAAMC,EAASF,EAAU,qBAAqB,KAAK,EACnD,GAAI,CAACE,GAAUA,EAAO,SAAW,EAC/B,OAGF,IAAMC,EAAYF,EAAU,QAAQ,cAAe,EAAE,EAAE,KAAK,IAAM,GAElE,MAAM,QAAQ,IACZ,CAAC,GAAGC,CAAM,EAAE,IACTE,GACC,IAAI,QAASC,GAAQ,CACnB,SAASC,GAAa,CAIpB,GAHAF,EAAI,MAAM,QAAU,OACpBA,EAAI,MAAM,cAAgB,SAEtBD,EAAW,CAEb,IAAMI,EAAeC,EAAU,EAAE,SAC7BA,EAAU,EAAE,SACZ,OAAO,iBAAiB,SAAS,IAAI,EAAE,SACrCC,EAAkB,EAClB,CAACC,EAAqBC,EAAc,QAAQ,EAAIC,EAAcL,CAAY,EAC1EM,EAAQH,EAAqBD,EAAkB,KACrDL,EAAI,MAAM,SAAWS,EACrBT,EAAI,MAAM,SAAWS,CACvB,MACET,EAAI,MAAM,MAAQ,OAEpBC,EAAID,CAAG,CACT,CAlBSU,EAAAR,EAAA,cAmBT,WAAW,IAAM,CACXF,EAAI,UACNE,EAAW,CAEf,CAAC,EACDF,EAAI,iBAAiB,QAASE,CAAU,EACxCF,EAAI,iBAAiB,OAAQE,CAAU,CACzC,CAAC,CACL,CACF,CACF,CA5CsBQ,EAAAf,EAAA",
"names": ["getSubGraphTitleMargins", "__name", "flowchart", "subGraphTitleTopMargin", "subGraphTitleBottomMargin", "subGraphTitleTotalMargin", "configureLabelImages", "container", "labelText", "images", "noImgText", "img", "res", "setupImage", "bodyFontSize", "getConfig", "enlargingFactor", "parsedBodyFontSize", "defaultConfig_default", "parseFontSize", "width", "__name"]
}
@@ -0,0 +1 @@
import{h as o}from"./chunk-MGPAVIPZ.mjs";import{a as s}from"./chunk-VELTKBKT.mjs";var m=s((t,n)=>{let e;return n==="sandbox"&&(e=o("#i"+t)),(n==="sandbox"?o(e.nodes()[0].contentDocument.body):o("body")).select(`[id="${t}"]`)},"getDiagramElement");export{m as a};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../src/rendering-util/insertElementsForSize.js"],
"sourcesContent": ["import { select } from 'd3';\n\nexport const getDiagramElement = (id, securityLevel) => {\n let sandboxElement;\n if (securityLevel === 'sandbox') {\n sandboxElement = select('#i' + id);\n }\n const root =\n securityLevel === 'sandbox'\n ? select(sandboxElement.nodes()[0].contentDocument.body)\n : select('body');\n\n const svg = root.select(`[id=\"${id}\"]`);\n\n // Run the renderer. This is what draws the final graph.\n\n return svg;\n};\n"],
"mappings": "kFAEO,IAAMA,EAAoBC,EAAA,CAACC,EAAIC,IAAkB,CACtD,IAAIC,EACJ,OAAID,IAAkB,YACpBC,EAAiBC,EAAO,KAAOH,CAAE,IAGjCC,IAAkB,UACdE,EAAOD,EAAe,MAAM,EAAE,CAAC,EAAE,gBAAgB,IAAI,EACrDC,EAAO,MAAM,GAEF,OAAO,QAAQH,CAAE,IAAI,CAKxC,EAfiC",
"names": ["getDiagramElement", "__name", "id", "securityLevel", "sandboxElement", "select_default"]
}
@@ -0,0 +1 @@
import{a as i}from"./chunk-VELTKBKT.mjs";var s=class{constructor(t){this.init=t;this.records=this.init()}static{i(this,"ImperativeState")}reset(){this.records=this.init()}};export{s as a};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../src/utils/imperativeState.ts"],
"sourcesContent": ["/**\n * Resettable state storage.\n * @example\n * ```\n * const state = new ImperativeState(() => ({\n * foo: undefined as string | undefined,\n * bar: [] as number[],\n * baz: 1 as number | undefined,\n * }));\n *\n * state.records.foo = \"hi\";\n * console.log(state.records.foo); // prints \"hi\";\n * state.reset();\n * console.log(state.records.foo); // prints \"default\";\n *\n * // typeof state.records:\n * // {\n * // foo: string | undefined, // actual: undefined\n * // bar: number[], // actual: []\n * // baz: number | undefined, // actual: 1\n * // }\n * ```\n */\nexport class ImperativeState<S> {\n public records: S;\n\n /**\n * @param init - Function that creates the default state.\n */\n constructor(private init: () => S) {\n this.records = this.init();\n }\n\n reset() {\n this.records = this.init();\n }\n}\n"],
"mappings": "yCAuBO,IAAMA,EAAN,KAAyB,CAM9B,YAAoBC,EAAe,CAAf,UAAAA,EAClB,KAAK,QAAU,KAAK,KAAK,CAC3B,CA/BF,MAuBgC,CAAAC,EAAA,wBAU9B,OAAQ,CACN,KAAK,QAAU,KAAK,KAAK,CAC3B,CACF",
"names": ["ImperativeState", "init", "__name"]
}
@@ -0,0 +1 @@
import{a,b as i,c as n,d as u,e as m,f as e,g as d,j as s,r as l,s as c}from"./chunk-FXACKDTF.mjs";import{a as o}from"./chunk-VELTKBKT.mjs";var v=class extends c{static{o(this,"InfoTokenBuilder")}static{e(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},I={parser:{TokenBuilder:e(()=>new v,"TokenBuilder"),ValueConverter:e(()=>new l,"ValueConverter")}};function M(f=u){let r=n(i(f),d),t=n(a({shared:r}),s,I);return r.ServiceRegistry.register(t),{shared:r,Info:t}}o(M,"createInfoServices");e(M,"createInfoServices");export{I as a,M as b};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../../parser/dist/chunks/mermaid-parser.core/chunk-KGLVRYIC.mjs"],
"sourcesContent": ["import {\n AbstractMermaidTokenBuilder,\n CommonValueConverter,\n InfoGrammarGeneratedModule,\n MermaidGeneratedSharedModule,\n __name\n} from \"./chunk-K5T4RW27.mjs\";\n\n// src/language/info/module.ts\nimport {\n EmptyFileSystem,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject\n} from \"langium\";\n\n// src/language/info/tokenBuilder.ts\nvar InfoTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"InfoTokenBuilder\");\n }\n constructor() {\n super([\"info\", \"showInfo\"]);\n }\n};\n\n// src/language/info/module.ts\nvar InfoModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new InfoTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new CommonValueConverter(), \"ValueConverter\")\n }\n};\nfunction createInfoServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Info = inject(\n createDefaultCoreModule({ shared }),\n InfoGrammarGeneratedModule,\n InfoModule\n );\n shared.ServiceRegistry.register(Info);\n return { shared, Info };\n}\n__name(createInfoServices, \"createInfoServices\");\n\nexport {\n InfoModule,\n createInfoServices\n};\n"],
"mappings": "4IAiBA,IAAIA,EAAmB,cAAcC,CAA4B,CAjBjE,MAiBiE,CAAAC,EAAA,yBAC/D,MAAO,CACLA,EAAO,KAAM,kBAAkB,CACjC,CACA,aAAc,CACZ,MAAM,CAAC,OAAQ,UAAU,CAAC,CAC5B,CACF,EAGIC,EAAa,CACf,OAAQ,CACN,aAA8BD,EAAO,IAAM,IAAIF,EAAoB,cAAc,EACjF,eAAgCE,EAAO,IAAM,IAAIE,EAAwB,gBAAgB,CAC3F,CACF,EACA,SAASC,EAAmBC,EAAUC,EAAiB,CACrD,IAAMC,EAASC,EACbC,EAA8BJ,CAAO,EACrCK,CACF,EACMC,EAAOH,EACXI,EAAwB,CAAE,OAAAL,CAAO,CAAC,EAClCM,EACAX,CACF,EACA,OAAAK,EAAO,gBAAgB,SAASI,CAAI,EAC7B,CAAE,OAAAJ,EAAQ,KAAAI,CAAK,CACxB,CAZSV,EAAAG,EAAA,sBAaTH,EAAOG,EAAoB,oBAAoB",
"names": ["InfoTokenBuilder", "AbstractMermaidTokenBuilder", "__name", "InfoModule", "CommonValueConverter", "createInfoServices", "context", "EmptyFileSystem", "shared", "inject", "createDefaultSharedCoreModule", "MermaidGeneratedSharedModule", "Info", "createDefaultCoreModule", "InfoGrammarGeneratedModule"]
}
@@ -0,0 +1 @@
var h=Object.create;var e=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty;var m=(a,b)=>e(a,"name",{value:b,configurable:!0});var n=(a,b)=>()=>(a&&(b=a(a=0)),b);var o=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports),p=(a,b)=>{for(var c in b)e(a,c,{get:b[c],enumerable:!0})},f=(a,b,c,g)=>{if(b&&typeof b=="object"||typeof b=="function")for(let d of j(b))!l.call(a,d)&&d!==c&&e(a,d,{get:()=>b[d],enumerable:!(g=i(b,d))||g.enumerable});return a},q=(a,b,c)=>(f(a,b,"default"),c&&f(c,b,"default")),r=(a,b,c)=>(c=a!=null?h(k(a)):{},f(b||!a||!a.__esModule?e(c,"default",{value:a,enumerable:!0}):c,a)),s=a=>f(e({},"__esModule",{value:!0}),a);export{m as a,n as b,o as c,p as d,q as e,r as f,s as g};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}
@@ -0,0 +1 @@
import{a as d,b as n,c as t,d as i,e as v,f as e,g as u,m as l,r as s,s as c}from"./chunk-FXACKDTF.mjs";import{a}from"./chunk-VELTKBKT.mjs";var R=class extends c{static{a(this,"RadarTokenBuilder")}static{e(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},M={parser:{TokenBuilder:e(()=>new R,"TokenBuilder"),ValueConverter:e(()=>new s,"ValueConverter")}};function p(m=i){let r=t(n(m),u),o=t(d({shared:r}),l,M);return r.ServiceRegistry.register(o),{shared:r,Radar:o}}a(p,"createRadarServices");e(p,"createRadarServices");export{M as a,p as b};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../../parser/dist/chunks/mermaid-parser.core/chunk-2KRD3SAO.mjs"],
"sourcesContent": ["import {\n AbstractMermaidTokenBuilder,\n CommonValueConverter,\n MermaidGeneratedSharedModule,\n RadarGrammarGeneratedModule,\n __name\n} from \"./chunk-K5T4RW27.mjs\";\n\n// src/language/radar/module.ts\nimport {\n EmptyFileSystem,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject\n} from \"langium\";\n\n// src/language/radar/tokenBuilder.ts\nvar RadarTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"RadarTokenBuilder\");\n }\n constructor() {\n super([\"radar-beta\"]);\n }\n};\n\n// src/language/radar/module.ts\nvar RadarModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new RadarTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new CommonValueConverter(), \"ValueConverter\")\n }\n};\nfunction createRadarServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Radar = inject(\n createDefaultCoreModule({ shared }),\n RadarGrammarGeneratedModule,\n RadarModule\n );\n shared.ServiceRegistry.register(Radar);\n return { shared, Radar };\n}\n__name(createRadarServices, \"createRadarServices\");\n\nexport {\n RadarModule,\n createRadarServices\n};\n"],
"mappings": "4IAiBA,IAAIA,EAAoB,cAAcC,CAA4B,CAjBlE,MAiBkE,CAAAC,EAAA,0BAChE,MAAO,CACLA,EAAO,KAAM,mBAAmB,CAClC,CACA,aAAc,CACZ,MAAM,CAAC,YAAY,CAAC,CACtB,CACF,EAGIC,EAAc,CAChB,OAAQ,CACN,aAA8BD,EAAO,IAAM,IAAIF,EAAqB,cAAc,EAClF,eAAgCE,EAAO,IAAM,IAAIE,EAAwB,gBAAgB,CAC3F,CACF,EACA,SAASC,EAAoBC,EAAUC,EAAiB,CACtD,IAAMC,EAASC,EACbC,EAA8BJ,CAAO,EACrCK,CACF,EACMC,EAAQH,EACZI,EAAwB,CAAE,OAAAL,CAAO,CAAC,EAClCM,EACAX,CACF,EACA,OAAAK,EAAO,gBAAgB,SAASI,CAAK,EAC9B,CAAE,OAAAJ,EAAQ,MAAAI,CAAM,CACzB,CAZSV,EAAAG,EAAA,uBAaTH,EAAOG,EAAqB,qBAAqB",
"names": ["RadarTokenBuilder", "AbstractMermaidTokenBuilder", "__name", "RadarModule", "CommonValueConverter", "createRadarServices", "context", "EmptyFileSystem", "shared", "inject", "createDefaultSharedCoreModule", "MermaidGeneratedSharedModule", "Radar", "createDefaultCoreModule", "RadarGrammarGeneratedModule"]
}
@@ -0,0 +1 @@
import{a as s,b as l,c as n,d,e as u,f as o,g as m,n as c,q as p,s as T}from"./chunk-FXACKDTF.mjs";import{a as i}from"./chunk-VELTKBKT.mjs";var v=class extends T{static{i(this,"TreemapTokenBuilder")}static{o(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},g=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,h=class extends p{static{i(this,"TreemapValueConverter")}static{o(this,"TreemapValueConverter")}runCustomConverter(r,e,t){if(r.name==="NUMBER2")return parseFloat(e.replace(/,/g,""));if(r.name==="SEPARATOR")return e.substring(1,e.length-1);if(r.name==="STRING2")return e.substring(1,e.length-1);if(r.name==="INDENTATION")return e.length;if(r.name==="ClassDef"){if(typeof e!="string")return e;let a=g.exec(e);if(a)return{$type:"ClassDefStatement",className:a[1],styleText:a[2]||void 0}}}};function f(r){let e=r.validation.TreemapValidator,t=r.validation.ValidationRegistry;if(t){let a={Treemap:e.checkSingleRoot.bind(e)};t.register(a,e)}}i(f,"registerValidationChecks");o(f,"registerValidationChecks");var C=class{static{i(this,"TreemapValidator")}static{o(this,"TreemapValidator")}checkSingleRoot(r,e){let t;for(let a of r.TreemapRows)a.item&&(t===void 0&&a.indent===void 0?t=0:a.indent===void 0?e("error","Multiple root nodes are not allowed in a treemap.",{node:a,property:"item"}):t!==void 0&&t>=parseInt(a.indent,10)&&e("error","Multiple root nodes are not allowed in a treemap.",{node:a,property:"item"}))}},V={parser:{TokenBuilder:o(()=>new v,"TokenBuilder"),ValueConverter:o(()=>new h,"ValueConverter")},validation:{TreemapValidator:o(()=>new C,"TreemapValidator")}};function M(r=d){let e=n(l(r),m),t=n(s({shared:e}),c,V);return e.ServiceRegistry.register(t),f(t),{shared:e,Treemap:t}}i(M,"createTreemapServices");o(M,"createTreemapServices");export{V as a,M as b};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../../parser/dist/chunks/mermaid-parser.core/chunk-LIHQZDEY.mjs"],
"sourcesContent": ["import {\n AbstractMermaidTokenBuilder,\n AbstractMermaidValueConverter,\n MermaidGeneratedSharedModule,\n TreemapGrammarGeneratedModule,\n __name\n} from \"./chunk-K5T4RW27.mjs\";\n\n// src/language/treemap/module.ts\nimport {\n EmptyFileSystem,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject\n} from \"langium\";\n\n// src/language/treemap/tokenBuilder.ts\nvar TreemapTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"TreemapTokenBuilder\");\n }\n constructor() {\n super([\"treemap\"]);\n }\n};\n\n// src/language/treemap/valueConverter.ts\nvar classDefRegex = /classDef\\s+([A-Z_a-z]\\w+)(?:\\s+([^\\n\\r;]*))?;?/;\nvar TreemapValueConverter = class extends AbstractMermaidValueConverter {\n static {\n __name(this, \"TreemapValueConverter\");\n }\n runCustomConverter(rule, input, _cstNode) {\n if (rule.name === \"NUMBER2\") {\n return parseFloat(input.replace(/,/g, \"\"));\n } else if (rule.name === \"SEPARATOR\") {\n return input.substring(1, input.length - 1);\n } else if (rule.name === \"STRING2\") {\n return input.substring(1, input.length - 1);\n } else if (rule.name === \"INDENTATION\") {\n return input.length;\n } else if (rule.name === \"ClassDef\") {\n if (typeof input !== \"string\") {\n return input;\n }\n const match = classDefRegex.exec(input);\n if (match) {\n return {\n $type: \"ClassDefStatement\",\n className: match[1],\n styleText: match[2] || void 0\n };\n }\n }\n return void 0;\n }\n};\n\n// src/language/treemap/treemap-validator.ts\nfunction registerValidationChecks(services) {\n const validator = services.validation.TreemapValidator;\n const registry = services.validation.ValidationRegistry;\n if (registry) {\n const checks = {\n Treemap: validator.checkSingleRoot.bind(validator)\n // Remove unused validation for TreemapRow\n };\n registry.register(checks, validator);\n }\n}\n__name(registerValidationChecks, \"registerValidationChecks\");\nvar TreemapValidator = class {\n static {\n __name(this, \"TreemapValidator\");\n }\n /**\n * Validates that a treemap has only one root node.\n * A root node is defined as a node that has no indentation.\n */\n checkSingleRoot(doc, accept) {\n let rootNodeIndentation;\n for (const row of doc.TreemapRows) {\n if (!row.item) {\n continue;\n }\n if (rootNodeIndentation === void 0 && // Check if this is a root node (no indentation)\n row.indent === void 0) {\n rootNodeIndentation = 0;\n } else if (row.indent === void 0) {\n accept(\"error\", \"Multiple root nodes are not allowed in a treemap.\", {\n node: row,\n property: \"item\"\n });\n } else if (rootNodeIndentation !== void 0 && rootNodeIndentation >= parseInt(row.indent, 10)) {\n accept(\"error\", \"Multiple root nodes are not allowed in a treemap.\", {\n node: row,\n property: \"item\"\n });\n }\n }\n }\n};\n\n// src/language/treemap/module.ts\nvar TreemapModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new TreemapTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new TreemapValueConverter(), \"ValueConverter\")\n },\n validation: {\n TreemapValidator: /* @__PURE__ */ __name(() => new TreemapValidator(), \"TreemapValidator\")\n }\n};\nfunction createTreemapServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Treemap = inject(\n createDefaultCoreModule({ shared }),\n TreemapGrammarGeneratedModule,\n TreemapModule\n );\n shared.ServiceRegistry.register(Treemap);\n registerValidationChecks(Treemap);\n return { shared, Treemap };\n}\n__name(createTreemapServices, \"createTreemapServices\");\n\nexport {\n TreemapModule,\n createTreemapServices\n};\n"],
"mappings": "4IAiBA,IAAIA,EAAsB,cAAcC,CAA4B,CAjBpE,MAiBoE,CAAAC,EAAA,4BAClE,MAAO,CACLA,EAAO,KAAM,qBAAqB,CACpC,CACA,aAAc,CACZ,MAAM,CAAC,SAAS,CAAC,CACnB,CACF,EAGIC,EAAgB,iDAChBC,EAAwB,cAAcC,CAA8B,CA5BxE,MA4BwE,CAAAH,EAAA,8BACtE,MAAO,CACLA,EAAO,KAAM,uBAAuB,CACtC,CACA,mBAAmBI,EAAMC,EAAOC,EAAU,CACxC,GAAIF,EAAK,OAAS,UAChB,OAAO,WAAWC,EAAM,QAAQ,KAAM,EAAE,CAAC,EACpC,GAAID,EAAK,OAAS,YACvB,OAAOC,EAAM,UAAU,EAAGA,EAAM,OAAS,CAAC,EACrC,GAAID,EAAK,OAAS,UACvB,OAAOC,EAAM,UAAU,EAAGA,EAAM,OAAS,CAAC,EACrC,GAAID,EAAK,OAAS,cACvB,OAAOC,EAAM,OACR,GAAID,EAAK,OAAS,WAAY,CACnC,GAAI,OAAOC,GAAU,SACnB,OAAOA,EAET,IAAME,EAAQN,EAAc,KAAKI,CAAK,EACtC,GAAIE,EACF,MAAO,CACL,MAAO,oBACP,UAAWA,EAAM,CAAC,EAClB,UAAWA,EAAM,CAAC,GAAK,MACzB,CAEJ,CAEF,CACF,EAGA,SAASC,EAAyBC,EAAU,CAC1C,IAAMC,EAAYD,EAAS,WAAW,iBAChCE,EAAWF,EAAS,WAAW,mBACrC,GAAIE,EAAU,CACZ,IAAMC,EAAS,CACb,QAASF,EAAU,gBAAgB,KAAKA,CAAS,CAEnD,EACAC,EAAS,SAASC,EAAQF,CAAS,CACrC,CACF,CAVSV,EAAAQ,EAAA,4BAWTR,EAAOQ,EAA0B,0BAA0B,EAC3D,IAAIK,EAAmB,KAAM,CAvE7B,MAuE6B,CAAAb,EAAA,yBAC3B,MAAO,CACLA,EAAO,KAAM,kBAAkB,CACjC,CAKA,gBAAgBc,EAAKC,EAAQ,CAC3B,IAAIC,EACJ,QAAWC,KAAOH,EAAI,YACfG,EAAI,OAGLD,IAAwB,QAC5BC,EAAI,SAAW,OACbD,EAAsB,EACbC,EAAI,SAAW,OACxBF,EAAO,QAAS,oDAAqD,CACnE,KAAME,EACN,SAAU,MACZ,CAAC,EACQD,IAAwB,QAAUA,GAAuB,SAASC,EAAI,OAAQ,EAAE,GACzFF,EAAO,QAAS,oDAAqD,CACnE,KAAME,EACN,SAAU,MACZ,CAAC,EAGP,CACF,EAGIC,EAAgB,CAClB,OAAQ,CACN,aAA8BlB,EAAO,IAAM,IAAIF,EAAuB,cAAc,EACpF,eAAgCE,EAAO,IAAM,IAAIE,EAAyB,gBAAgB,CAC5F,EACA,WAAY,CACV,iBAAkCF,EAAO,IAAM,IAAIa,EAAoB,kBAAkB,CAC3F,CACF,EACA,SAASM,EAAsBC,EAAUC,EAAiB,CACxD,IAAMC,EAASC,EACbC,EAA8BJ,CAAO,EACrCK,CACF,EACMC,EAAUH,EACdI,EAAwB,CAAE,OAAAL,CAAO,CAAC,EAClCM,EACAV,CACF,EACA,OAAAI,EAAO,gBAAgB,SAASI,CAAO,EACvClB,EAAyBkB,CAAO,EACzB,CAAE,OAAAJ,EAAQ,QAAAI,CAAQ,CAC3B,CAbS1B,EAAAmB,EAAA,yBAcTnB,EAAOmB,EAAuB,uBAAuB",
"names": ["TreemapTokenBuilder", "AbstractMermaidTokenBuilder", "__name", "classDefRegex", "TreemapValueConverter", "AbstractMermaidValueConverter", "rule", "input", "_cstNode", "match", "registerValidationChecks", "services", "validator", "registry", "checks", "TreemapValidator", "doc", "accept", "rootNodeIndentation", "row", "TreemapModule", "createTreemapServices", "context", "EmptyFileSystem", "shared", "inject", "createDefaultSharedCoreModule", "MermaidGeneratedSharedModule", "Treemap", "createDefaultCoreModule", "TreemapGrammarGeneratedModule"]
}
@@ -0,0 +1 @@
import{a as n,c as R}from"./chunk-VELTKBKT.mjs";var g=R(e=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.BLANK_URL=e.relativeFirstCharacters=e.whitespaceEscapeCharsRegex=e.urlSchemeRegex=e.ctrlCharactersRegex=e.htmlCtrlEntityRegex=e.htmlEntitiesRegex=e.invalidProtocolRegex=void 0;e.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im;e.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g;e.htmlCtrlEntityRegex=/&(newline|tab);/gi;e.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim;e.urlSchemeRegex=/^.+(:|&colon;)/gim;e.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;e.relativeFirstCharacters=[".","/"];e.BLANK_URL="about:blank"});var f=R(h=>{"use strict";Object.defineProperty(h,"__esModule",{value:!0});h.sanitizeUrl=void 0;var t=g();function v(r){return t.relativeFirstCharacters.indexOf(r[0])>-1}n(v,"isRelativeUrlWithoutProtocol");function x(r){var c=r.replace(t.ctrlCharactersRegex,"");return c.replace(t.htmlEntitiesRegex,function(a,i){return String.fromCharCode(i)})}n(x,"decodeHtmlCharacters");function C(r){return URL.canParse(r)}n(C,"isValidUrl");function d(r){try{return decodeURIComponent(r)}catch{return r}}n(d,"decodeURI");function p(r){if(!r)return t.BLANK_URL;var c,a=d(r.trim());do a=x(a).replace(t.htmlCtrlEntityRegex,"").replace(t.ctrlCharactersRegex,"").replace(t.whitespaceEscapeCharsRegex,"").trim(),a=d(a),c=a.match(t.ctrlCharactersRegex)||a.match(t.htmlEntitiesRegex)||a.match(t.htmlCtrlEntityRegex)||a.match(t.whitespaceEscapeCharsRegex);while(c&&c.length>0);var i=a;if(!i)return t.BLANK_URL;if(v(i))return i;var u=i.trimStart(),m=u.match(t.urlSchemeRegex);if(!m)return i;var l=m[0].toLowerCase().trim();if(t.invalidProtocolRegex.test(l))return t.BLANK_URL;var s=u.replace(/\\/g,"/");if(l==="mailto:"||l.includes("://"))return s;if(l==="http:"||l==="https:"){if(!C(s))return t.BLANK_URL;var o=new URL(s);return o.protocol=o.protocol.toLowerCase(),o.hostname=o.hostname.toLowerCase(),o.toString()}return s}n(p,"sanitizeUrl");h.sanitizeUrl=p});export{f as a};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../../../node_modules/.pnpm/@braintree+sanitize-url@7.1.1/node_modules/@braintree/sanitize-url/dist/constants.js", "../../../../../node_modules/.pnpm/@braintree+sanitize-url@7.1.1/node_modules/@braintree/sanitize-url/dist/index.js"],
"sourcesContent": ["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BLANK_URL = exports.relativeFirstCharacters = exports.whitespaceEscapeCharsRegex = exports.urlSchemeRegex = exports.ctrlCharactersRegex = exports.htmlCtrlEntityRegex = exports.htmlEntitiesRegex = exports.invalidProtocolRegex = void 0;\nexports.invalidProtocolRegex = /^([^\\w]*)(javascript|data|vbscript)/im;\nexports.htmlEntitiesRegex = /&#(\\w+)(^\\w|;)?/g;\nexports.htmlCtrlEntityRegex = /&(newline|tab);/gi;\nexports.ctrlCharactersRegex = /[\\u0000-\\u001F\\u007F-\\u009F\\u2000-\\u200D\\uFEFF]/gim;\nexports.urlSchemeRegex = /^.+(:|&colon;)/gim;\nexports.whitespaceEscapeCharsRegex = /(\\\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;\nexports.relativeFirstCharacters = [\".\", \"/\"];\nexports.BLANK_URL = \"about:blank\";\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sanitizeUrl = void 0;\nvar constants_1 = require(\"./constants\");\nfunction isRelativeUrlWithoutProtocol(url) {\n return constants_1.relativeFirstCharacters.indexOf(url[0]) > -1;\n}\nfunction decodeHtmlCharacters(str) {\n var removedNullByte = str.replace(constants_1.ctrlCharactersRegex, \"\");\n return removedNullByte.replace(constants_1.htmlEntitiesRegex, function (match, dec) {\n return String.fromCharCode(dec);\n });\n}\nfunction isValidUrl(url) {\n return URL.canParse(url);\n}\nfunction decodeURI(uri) {\n try {\n return decodeURIComponent(uri);\n }\n catch (e) {\n // Ignoring error\n // It is possible that the URI contains a `%` not associated\n // with URI/URL-encoding.\n return uri;\n }\n}\nfunction sanitizeUrl(url) {\n if (!url) {\n return constants_1.BLANK_URL;\n }\n var charsToDecode;\n var decodedUrl = decodeURI(url.trim());\n do {\n decodedUrl = decodeHtmlCharacters(decodedUrl)\n .replace(constants_1.htmlCtrlEntityRegex, \"\")\n .replace(constants_1.ctrlCharactersRegex, \"\")\n .replace(constants_1.whitespaceEscapeCharsRegex, \"\")\n .trim();\n decodedUrl = decodeURI(decodedUrl);\n charsToDecode =\n decodedUrl.match(constants_1.ctrlCharactersRegex) ||\n decodedUrl.match(constants_1.htmlEntitiesRegex) ||\n decodedUrl.match(constants_1.htmlCtrlEntityRegex) ||\n decodedUrl.match(constants_1.whitespaceEscapeCharsRegex);\n } while (charsToDecode && charsToDecode.length > 0);\n var sanitizedUrl = decodedUrl;\n if (!sanitizedUrl) {\n return constants_1.BLANK_URL;\n }\n if (isRelativeUrlWithoutProtocol(sanitizedUrl)) {\n return sanitizedUrl;\n }\n // Remove any leading whitespace before checking the URL scheme\n var trimmedUrl = sanitizedUrl.trimStart();\n var urlSchemeParseResults = trimmedUrl.match(constants_1.urlSchemeRegex);\n if (!urlSchemeParseResults) {\n return sanitizedUrl;\n }\n var urlScheme = urlSchemeParseResults[0].toLowerCase().trim();\n if (constants_1.invalidProtocolRegex.test(urlScheme)) {\n return constants_1.BLANK_URL;\n }\n var backSanitized = trimmedUrl.replace(/\\\\/g, \"/\");\n // Handle special cases for mailto: and custom deep-link protocols\n if (urlScheme === \"mailto:\" || urlScheme.includes(\"://\")) {\n return backSanitized;\n }\n // For http and https URLs, perform additional validation\n if (urlScheme === \"http:\" || urlScheme === \"https:\") {\n if (!isValidUrl(backSanitized)) {\n return constants_1.BLANK_URL;\n }\n var url_1 = new URL(backSanitized);\n url_1.protocol = url_1.protocol.toLowerCase();\n url_1.hostname = url_1.hostname.toLowerCase();\n return url_1.toString();\n }\n return backSanitized;\n}\nexports.sanitizeUrl = sanitizeUrl;\n"],
"mappings": "gDAAA,IAAAA,EAAAC,EAAAC,GAAA,cACA,OAAO,eAAeA,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,EAAQ,UAAYA,EAAQ,wBAA0BA,EAAQ,2BAA6BA,EAAQ,eAAiBA,EAAQ,oBAAsBA,EAAQ,oBAAsBA,EAAQ,kBAAoBA,EAAQ,qBAAuB,OAC3OA,EAAQ,qBAAuB,wCAC/BA,EAAQ,kBAAoB,mBAC5BA,EAAQ,oBAAsB,oBAC9BA,EAAQ,oBAAsB,qDAC9BA,EAAQ,eAAiB,oBACzBA,EAAQ,2BAA6B,uCACrCA,EAAQ,wBAA0B,CAAC,IAAK,GAAG,EAC3CA,EAAQ,UAAY,gBCVpB,IAAAC,EAAAC,EAAAC,GAAA,cACA,OAAO,eAAeA,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,EAAQ,YAAc,OACtB,IAAIC,EAAc,IAClB,SAASC,EAA6BC,EAAK,CACvC,OAAOF,EAAY,wBAAwB,QAAQE,EAAI,CAAC,CAAC,EAAI,EACjE,CAFSC,EAAAF,EAAA,gCAGT,SAASG,EAAqBC,EAAK,CAC/B,IAAIC,EAAkBD,EAAI,QAAQL,EAAY,oBAAqB,EAAE,EACrE,OAAOM,EAAgB,QAAQN,EAAY,kBAAmB,SAAUO,EAAOC,EAAK,CAChF,OAAO,OAAO,aAAaA,CAAG,CAClC,CAAC,CACL,CALSL,EAAAC,EAAA,wBAMT,SAASK,EAAWP,EAAK,CACrB,OAAO,IAAI,SAASA,CAAG,CAC3B,CAFSC,EAAAM,EAAA,cAGT,SAASC,EAAUC,EAAK,CACpB,GAAI,CACA,OAAO,mBAAmBA,CAAG,CACjC,MACU,CAIN,OAAOA,CACX,CACJ,CAVSR,EAAAO,EAAA,aAWT,SAASE,EAAYV,EAAK,CACtB,GAAI,CAACA,EACD,OAAOF,EAAY,UAEvB,IAAIa,EACAC,EAAaJ,EAAUR,EAAI,KAAK,CAAC,EACrC,GACIY,EAAaV,EAAqBU,CAAU,EACvC,QAAQd,EAAY,oBAAqB,EAAE,EAC3C,QAAQA,EAAY,oBAAqB,EAAE,EAC3C,QAAQA,EAAY,2BAA4B,EAAE,EAClD,KAAK,EACVc,EAAaJ,EAAUI,CAAU,EACjCD,EACIC,EAAW,MAAMd,EAAY,mBAAmB,GAC5Cc,EAAW,MAAMd,EAAY,iBAAiB,GAC9Cc,EAAW,MAAMd,EAAY,mBAAmB,GAChDc,EAAW,MAAMd,EAAY,0BAA0B,QAC1Da,GAAiBA,EAAc,OAAS,GACjD,IAAIE,EAAeD,EACnB,GAAI,CAACC,EACD,OAAOf,EAAY,UAEvB,GAAIC,EAA6Bc,CAAY,EACzC,OAAOA,EAGX,IAAIC,EAAaD,EAAa,UAAU,EACpCE,EAAwBD,EAAW,MAAMhB,EAAY,cAAc,EACvE,GAAI,CAACiB,EACD,OAAOF,EAEX,IAAIG,EAAYD,EAAsB,CAAC,EAAE,YAAY,EAAE,KAAK,EAC5D,GAAIjB,EAAY,qBAAqB,KAAKkB,CAAS,EAC/C,OAAOlB,EAAY,UAEvB,IAAImB,EAAgBH,EAAW,QAAQ,MAAO,GAAG,EAEjD,GAAIE,IAAc,WAAaA,EAAU,SAAS,KAAK,EACnD,OAAOC,EAGX,GAAID,IAAc,SAAWA,IAAc,SAAU,CACjD,GAAI,CAACT,EAAWU,CAAa,EACzB,OAAOnB,EAAY,UAEvB,IAAIoB,EAAQ,IAAI,IAAID,CAAa,EACjC,OAAAC,EAAM,SAAWA,EAAM,SAAS,YAAY,EAC5CA,EAAM,SAAWA,EAAM,SAAS,YAAY,EACrCA,EAAM,SAAS,CAC1B,CACA,OAAOD,CACX,CApDShB,EAAAS,EAAA,eAqDTb,EAAQ,YAAca",
"names": ["require_constants", "__commonJSMin", "exports", "require_dist", "__commonJSMin", "exports", "constants_1", "isRelativeUrlWithoutProtocol", "url", "__name", "decodeHtmlCharacters", "str", "removedNullByte", "match", "dec", "isValidUrl", "decodeURI", "uri", "sanitizeUrl", "charsToDecode", "decodedUrl", "sanitizedUrl", "trimmedUrl", "urlSchemeParseResults", "urlScheme", "backSanitized", "url_1"]
}
@@ -0,0 +1 @@
import{b as c,c as y,d as u,e as h}from"./chunk-HNL3EPQF.mjs";import{a as f,e as g,g as L}from"./chunk-SEEX5HTF.mjs";import{c as m}from"./chunk-2HR5LOFI.mjs";import{F as l,s as p}from"./chunk-5YUVU3PZ.mjs";import{b as i}from"./chunk-MGPAVIPZ.mjs";import{a as o}from"./chunk-VELTKBKT.mjs";var w={common:l,getConfig:p,insertCluster:g,insertEdge:u,insertEdgeLabel:c,insertMarkers:h,insertNode:L,interpolateToCurve:m,labelHelper:f,log:i,positionEdgeLabel:y};var a={},H=o(t=>{for(let r of t)a[r.name]=r},"registerLayoutLoaders"),S=o(()=>{H([{name:"dagre",loader:o(async()=>await import("./dagre-E77IOHMT.mjs"),"loader")},{name:"cose-bilkent",loader:o(async()=>await import("./cose-bilkent-PNC4W37J.mjs"),"loader")}])},"registerDefaultLayoutLoaders");S();var P=o(async(t,r)=>{if(!(t.layoutAlgorithm in a))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);if(t.diagramId)for(let e of t.nodes){let A=e.domId||e.id;e.domId=`${t.diagramId}-${A}`}let n=a[t.layoutAlgorithm],x=await n.loader(),{theme:d,themeVariables:D}=t.config,{useGradient:F,gradientStart:$,gradientStop:I}=D,s=r.attr("id");if(r.append("defs").append("filter").attr("id",`${s}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${d?.includes("dark")?"#FFFFFF":"#000000"}`),r.append("defs").append("filter").attr("id",`${s}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${d?.includes("dark")?"#FFFFFF":"#000000"}`),F){let e=r.append("linearGradient").attr("id",r.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");e.append("svg:stop").attr("offset","0%").attr("stop-color",$).attr("stop-opacity",1),e.append("svg:stop").attr("offset","100%").attr("stop-color",I).attr("stop-opacity",1)}return x.render(t,r,w,{algorithm:n.algorithm})},"render"),M=o((t="",{fallback:r="dagre"}={})=>{if(t in a)return t;if(r in a)return i.warn(`Layout algorithm ${t} is not registered. Using ${r} as fallback.`),r;throw new Error(`Both layout algorithms ${t} and ${r} are not registered.`)},"getRegisteredLayoutAlgorithm");export{H as a,P as b,M as c};
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
import{a as u,b as n,c as s,d as o,e as A,f as t,g as l,h as d,q as h,s as m}from"./chunk-FXACKDTF.mjs";import{a}from"./chunk-VELTKBKT.mjs";var C=class extends m{static{a(this,"ArchitectureTokenBuilder")}static{t(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},v=class extends h{static{a(this,"ArchitectureValueConverter")}static{t(this,"ArchitectureValueConverter")}runCustomConverter(c,r,i){if(c.name==="ARCH_ICON")return r.replace(/[()]/g,"").trim();if(c.name==="ARCH_TEXT_ICON")return r.replace(/["()]/g,"");if(c.name==="ARCH_TITLE"){let e=r.replace(/^\[|]$/g,"").trim();return(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))&&(e=e.slice(1,-1),e=e.replace(/\\"/g,'"').replace(/\\'/g,"'")),e.trim()}}},f={parser:{TokenBuilder:t(()=>new C,"TokenBuilder"),ValueConverter:t(()=>new v,"ValueConverter")}};function p(c=o){let r=s(n(c),l),i=s(u({shared:r}),d,f);return r.ServiceRegistry.register(i),{shared:r,Architecture:i}}a(p,"createArchitectureServices");t(p,"createArchitectureServices");export{f as a,p as b};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../../parser/dist/chunks/mermaid-parser.core/chunk-7N4EOEYR.mjs"],
"sourcesContent": ["import {\n AbstractMermaidTokenBuilder,\n AbstractMermaidValueConverter,\n ArchitectureGrammarGeneratedModule,\n MermaidGeneratedSharedModule,\n __name\n} from \"./chunk-K5T4RW27.mjs\";\n\n// src/language/architecture/module.ts\nimport {\n EmptyFileSystem,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject\n} from \"langium\";\n\n// src/language/architecture/tokenBuilder.ts\nvar ArchitectureTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"ArchitectureTokenBuilder\");\n }\n constructor() {\n super([\"architecture\"]);\n }\n};\n\n// src/language/architecture/valueConverter.ts\nvar ArchitectureValueConverter = class extends AbstractMermaidValueConverter {\n static {\n __name(this, \"ArchitectureValueConverter\");\n }\n runCustomConverter(rule, input, _cstNode) {\n if (rule.name === \"ARCH_ICON\") {\n return input.replace(/[()]/g, \"\").trim();\n } else if (rule.name === \"ARCH_TEXT_ICON\") {\n return input.replace(/[\"()]/g, \"\");\n } else if (rule.name === \"ARCH_TITLE\") {\n let result = input.replace(/^\\[|]$/g, \"\").trim();\n if (result.startsWith('\"') && result.endsWith('\"') || result.startsWith(\"'\") && result.endsWith(\"'\")) {\n result = result.slice(1, -1);\n result = result.replace(/\\\\\"/g, '\"').replace(/\\\\'/g, \"'\");\n }\n return result.trim();\n }\n return void 0;\n }\n};\n\n// src/language/architecture/module.ts\nvar ArchitectureModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new ArchitectureTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new ArchitectureValueConverter(), \"ValueConverter\")\n }\n};\nfunction createArchitectureServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Architecture = inject(\n createDefaultCoreModule({ shared }),\n ArchitectureGrammarGeneratedModule,\n ArchitectureModule\n );\n shared.ServiceRegistry.register(Architecture);\n return { shared, Architecture };\n}\n__name(createArchitectureServices, \"createArchitectureServices\");\n\nexport {\n ArchitectureModule,\n createArchitectureServices\n};\n"],
"mappings": "4IAiBA,IAAIA,EAA2B,cAAcC,CAA4B,CAjBzE,MAiByE,CAAAC,EAAA,iCACvE,MAAO,CACLA,EAAO,KAAM,0BAA0B,CACzC,CACA,aAAc,CACZ,MAAM,CAAC,cAAc,CAAC,CACxB,CACF,EAGIC,EAA6B,cAAcC,CAA8B,CA3B7E,MA2B6E,CAAAF,EAAA,mCAC3E,MAAO,CACLA,EAAO,KAAM,4BAA4B,CAC3C,CACA,mBAAmBG,EAAMC,EAAOC,EAAU,CACxC,GAAIF,EAAK,OAAS,YAChB,OAAOC,EAAM,QAAQ,QAAS,EAAE,EAAE,KAAK,EAClC,GAAID,EAAK,OAAS,iBACvB,OAAOC,EAAM,QAAQ,SAAU,EAAE,EAC5B,GAAID,EAAK,OAAS,aAAc,CACrC,IAAIG,EAASF,EAAM,QAAQ,UAAW,EAAE,EAAE,KAAK,EAC/C,OAAIE,EAAO,WAAW,GAAG,GAAKA,EAAO,SAAS,GAAG,GAAKA,EAAO,WAAW,GAAG,GAAKA,EAAO,SAAS,GAAG,KACjGA,EAASA,EAAO,MAAM,EAAG,EAAE,EAC3BA,EAASA,EAAO,QAAQ,OAAQ,GAAG,EAAE,QAAQ,OAAQ,GAAG,GAEnDA,EAAO,KAAK,CACrB,CAEF,CACF,EAGIC,EAAqB,CACvB,OAAQ,CACN,aAA8BP,EAAO,IAAM,IAAIF,EAA4B,cAAc,EACzF,eAAgCE,EAAO,IAAM,IAAIC,EAA8B,gBAAgB,CACjG,CACF,EACA,SAASO,EAA2BC,EAAUC,EAAiB,CAC7D,IAAMC,EAASC,EACbC,EAA8BJ,CAAO,EACrCK,CACF,EACMC,EAAeH,EACnBI,EAAwB,CAAE,OAAAL,CAAO,CAAC,EAClCM,EACAV,CACF,EACA,OAAAI,EAAO,gBAAgB,SAASI,CAAY,EACrC,CAAE,OAAAJ,EAAQ,aAAAI,CAAa,CAChC,CAZSf,EAAAQ,EAAA,8BAaTR,EAAOQ,EAA4B,4BAA4B",
"names": ["ArchitectureTokenBuilder", "AbstractMermaidTokenBuilder", "__name", "ArchitectureValueConverter", "AbstractMermaidValueConverter", "rule", "input", "_cstNode", "result", "ArchitectureModule", "createArchitectureServices", "context", "EmptyFileSystem", "shared", "inject", "createDefaultSharedCoreModule", "MermaidGeneratedSharedModule", "Architecture", "createDefaultCoreModule", "ArchitectureGrammarGeneratedModule"]
}
@@ -0,0 +1 @@
import{a,b as o,c as e,d as t}from"./chunk-PK6DOVAG.mjs";import"./chunk-KSICW3F5.mjs";import"./chunk-O5ABG6QK.mjs";import"./chunk-TBF5ZNIQ.mjs";import"./chunk-RWUO3TPN.mjs";import"./chunk-XEIFE4KY.mjs";import"./chunk-HNL3EPQF.mjs";import"./chunk-35NHKZTR.mjs";import"./chunk-SEEX5HTF.mjs";import"./chunk-73ENG63I.mjs";import"./chunk-SRFB55UJ.mjs";import"./chunk-IWDTEBJL.mjs";import"./chunk-BWNR3NKH.mjs";import"./chunk-2HR5LOFI.mjs";import"./chunk-XBXGYYE5.mjs";import"./chunk-5YUVU3PZ.mjs";import"./chunk-MGPAVIPZ.mjs";import"./chunk-JIN56HTB.mjs";import{a as i}from"./chunk-VELTKBKT.mjs";var n={parser:a,get db(){return new o},renderer:t,styles:e,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../src/diagrams/class/classDiagram.ts"],
"sourcesContent": ["import type { DiagramDefinition } from '../../diagram-api/types.js';\n// @ts-ignore: JISON doesn't support types\nimport parser from './parser/classDiagram.jison';\nimport { ClassDB } from './classDb.js';\nimport styles from './styles.js';\nimport renderer from './classRenderer-v3-unified.js';\n\nexport const diagram: DiagramDefinition = {\n parser,\n get db() {\n return new ClassDB();\n },\n renderer,\n styles,\n init: (cnf) => {\n if (!cnf.class) {\n cnf.class = {};\n }\n cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n },\n};\n"],
"mappings": "+kBAOO,IAAMA,EAA6B,CACxC,OAAAC,EACA,IAAI,IAAK,CACP,OAAO,IAAIC,CACb,EACA,SAAAC,EACA,OAAAC,EACA,KAAMC,EAACC,GAAQ,CACRA,EAAI,QACPA,EAAI,MAAQ,CAAC,GAEfA,EAAI,MAAM,oBAAsBA,EAAI,mBACtC,EALM,OAMR",
"names": ["diagram", "classDiagram_default", "ClassDB", "classRenderer_v3_unified_default", "styles_default", "__name", "cnf"]
}
@@ -0,0 +1 @@
import{a,b as o,c as e,d as t}from"./chunk-PK6DOVAG.mjs";import"./chunk-KSICW3F5.mjs";import"./chunk-O5ABG6QK.mjs";import"./chunk-TBF5ZNIQ.mjs";import"./chunk-RWUO3TPN.mjs";import"./chunk-XEIFE4KY.mjs";import"./chunk-HNL3EPQF.mjs";import"./chunk-35NHKZTR.mjs";import"./chunk-SEEX5HTF.mjs";import"./chunk-73ENG63I.mjs";import"./chunk-SRFB55UJ.mjs";import"./chunk-IWDTEBJL.mjs";import"./chunk-BWNR3NKH.mjs";import"./chunk-2HR5LOFI.mjs";import"./chunk-XBXGYYE5.mjs";import"./chunk-5YUVU3PZ.mjs";import"./chunk-MGPAVIPZ.mjs";import"./chunk-JIN56HTB.mjs";import{a as i}from"./chunk-VELTKBKT.mjs";var n={parser:a,get db(){return new o},renderer:t,styles:e,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../src/diagrams/class/classDiagram-v2.ts"],
"sourcesContent": ["import type { DiagramDefinition } from '../../diagram-api/types.js';\n// @ts-ignore: JISON doesn't support types\nimport parser from './parser/classDiagram.jison';\nimport { ClassDB } from './classDb.js';\nimport styles from './styles.js';\nimport renderer from './classRenderer-v3-unified.js';\n\nexport const diagram: DiagramDefinition = {\n parser,\n get db() {\n return new ClassDB();\n },\n renderer,\n styles,\n init: (cnf) => {\n if (!cnf.class) {\n cnf.class = {};\n }\n cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n },\n};\n"],
"mappings": "+kBAOO,IAAMA,EAA6B,CACxC,OAAAC,EACA,IAAI,IAAK,CACP,OAAO,IAAIC,CACb,EACA,SAAAC,EACA,OAAAC,EACA,KAAMC,EAACC,GAAQ,CACRA,EAAI,QACPA,EAAI,MAAQ,CAAC,GAEfA,EAAI,MAAM,oBAAsBA,EAAI,mBACtC,EALM,OAMR",
"names": ["diagram", "classDiagram_default", "ClassDB", "classRenderer_v3_unified_default", "styles_default", "__name", "cnf"]
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,24 @@
import{a as A}from"./chunk-AEOMTBSW.mjs";import{a as j}from"./chunk-DKKBVRCY.mjs";import"./chunk-DU5LTGQ6.mjs";import"./chunk-6NTNNK5N.mjs";import"./chunk-RNJOYNJ4.mjs";import"./chunk-XGPFEOL4.mjs";import"./chunk-A34GCYZU.mjs";import"./chunk-W7ZLLLMY.mjs";import"./chunk-WSB5WSVC.mjs";import"./chunk-DJ7UZH7F.mjs";import{a as E}from"./chunk-267PNR3T.mjs";import{l as b}from"./chunk-2HR5LOFI.mjs";import"./chunk-XBXGYYE5.mjs";import{N as x,Q as B,R as C,S,T as $,U as v,V as T,W,j as P,s as w}from"./chunk-5YUVU3PZ.mjs";import{b as h}from"./chunk-MGPAVIPZ.mjs";import"./chunk-TYMNRAUI.mjs";import"./chunk-FXACKDTF.mjs";import"./chunk-H3VCZNTA.mjs";import"./chunk-QU3B7NT4.mjs";import"./chunk-JIN56HTB.mjs";import{a as c}from"./chunk-VELTKBKT.mjs";var O=P.packet,y=class{constructor(){this.packet=[];this.setAccTitle=C;this.getAccTitle=S;this.setDiagramTitle=T;this.getDiagramTitle=W;this.getAccDescription=v;this.setAccDescription=$}static{c(this,"PacketDB")}getConfig(){let t=b({...O,...w().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){B(),this.packet=[]}};var _=1e4,V=c((e,t)=>{A(e,t);let a=-1,o=[],s=1,{bitsPerRow:l}=t.getConfig();for(let{start:r,end:n,bits:d,label:p}of e.blocks){if(r!==void 0&&n!==void 0&&n<r)throw new Error(`Packet block ${r} - ${n} is invalid. End must be greater than start.`);if(r??=a+1,r!==a+1)throw new Error(`Packet block ${r} - ${n??r} is not contiguous. It should start from ${a+1}.`);if(d===0)throw new Error(`Packet block ${r} is invalid. Cannot have a zero bit field.`);for(n??=r+(d??1)-1,d??=n-r+1,a=n,h.debug(`Packet block ${r} - ${a} with label ${p}`);o.length<=l+1&&t.getPacket().length<_;){let[m,i]=q({start:r,end:n,bits:d,label:p},s,l);if(o.push(m),m.end+1===s*l&&(t.pushWord(o),o=[],s++),!i)break;({start:r,end:n,bits:d,label:p}=i)}}t.pushWord(o)},"populate"),q=c((e,t,a)=>{if(e.start===void 0)throw new Error("start should have been set during first phase");if(e.end===void 0)throw new Error("end should have been set during first phase");if(e.start>e.end)throw new Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*a)return[e,void 0];let o=t*a-1,s=t*a;return[{start:e.start,end:o,label:e.label,bits:o-e.start},{start:s,end:e.end,label:e.label,bits:e.end-s}]},"getNextFittingBlock"),D={parser:{yy:void 0},parse:c(async e=>{let t=await j("packet",e),a=D.parser?.yy;if(!(a instanceof y))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");h.debug(t),V(t,a)},"parse")};var L=c((e,t,a,o)=>{let s=o.db,l=s.getConfig(),{rowHeight:r,paddingY:n,bitWidth:d,bitsPerRow:p}=l,m=s.getPacket(),i=s.getDiagramTitle(),g=r+n,f=g*(m.length+1)-(i?0:r),k=d*p+2,u=E(t);u.attr("viewBox",`0 0 ${k} ${f}`),x(u,f,k,l.useMaxWidth);for(let[G,R]of m.entries())M(u,R,G,l);u.append("text").text(i).attr("x",k/2).attr("y",f-g/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),M=c((e,t,a,{rowHeight:o,paddingX:s,paddingY:l,bitWidth:r,bitsPerRow:n,showBits:d})=>{let p=e.append("g"),m=a*(o+l)+l;for(let i of t){let g=i.start%n*r+1,f=(i.end-i.start+1)*r-s;if(p.append("rect").attr("x",g).attr("y",m).attr("width",f).attr("height",o).attr("class","packetBlock"),p.append("text").attr("x",g+f/2).attr("y",m+o/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(i.label),!d)continue;let k=i.end===i.start,u=m-2;p.append("text").attr("x",g+(k?f/2:0)).attr("y",u).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(i.start),k||p.append("text").attr("x",g+f).attr("y",u).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(i.end)}},"drawWord"),F={draw:L};var N={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},z=c(({packet:e}={})=>{let t=b(N,e);return`
.packetByte {
font-size: ${t.byteFontSize};
}
.packetByte.start {
fill: ${t.startByteColor};
}
.packetByte.end {
fill: ${t.endByteColor};
}
.packetLabel {
fill: ${t.labelColor};
font-size: ${t.labelFontSize};
}
.packetTitle {
fill: ${t.titleColor};
font-size: ${t.titleFontSize};
}
.packetBlock {
stroke: ${t.blockStrokeColor};
stroke-width: ${t.blockStrokeWidth};
fill: ${t.blockFillColor};
}
`},"styles");var gt={parser:D,get db(){return new y},renderer:F,styles:z};export{gt as diagram};
File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More