@zukhruf/diagram 0.3.32 → 0.3.34
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.
- package/README.md +98 -52
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/compiler/diagram-compile.d.ts +3 -4
- package/dist/lib/compiler/diagram-compile.d.ts.map +1 -1
- package/dist/lib/compiler/diagram-compile.js +85 -370
- package/dist/lib/compiler/diagram-compile.js.map +1 -1
- package/dist/lib/layouts/graph/attach.d.ts +25 -0
- package/dist/lib/layouts/graph/attach.d.ts.map +1 -0
- package/dist/lib/layouts/graph/attach.js +272 -0
- package/dist/lib/layouts/graph/attach.js.map +1 -0
- package/dist/lib/layouts/graph/connections.d.ts +45 -0
- package/dist/lib/layouts/graph/connections.d.ts.map +1 -0
- package/dist/lib/layouts/graph/connections.js +138 -0
- package/dist/lib/layouts/graph/connections.js.map +1 -0
- package/dist/lib/layouts/graph/graph-layout-result.d.ts +5 -3
- package/dist/lib/layouts/graph/graph-layout-result.d.ts.map +1 -1
- package/dist/lib/layouts/graph/graph-layout-result.js.map +1 -1
- package/dist/lib/layouts/graph/gutters.js +41 -22
- package/dist/lib/layouts/graph/gutters.js.map +1 -1
- package/dist/lib/layouts/graph/labels.d.ts +23 -0
- package/dist/lib/layouts/graph/labels.d.ts.map +1 -0
- package/dist/lib/layouts/graph/labels.js +120 -0
- package/dist/lib/layouts/graph/labels.js.map +1 -0
- package/dist/lib/layouts/graph/layout.d.ts +1 -1
- package/dist/lib/layouts/graph/layout.d.ts.map +1 -1
- package/dist/lib/layouts/graph/layout.js +37 -12
- package/dist/lib/layouts/graph/layout.js.map +1 -1
- package/dist/lib/layouts/graph/measure.d.ts +15 -11
- package/dist/lib/layouts/graph/measure.d.ts.map +1 -1
- package/dist/lib/layouts/graph/measure.js +82 -38
- package/dist/lib/layouts/graph/measure.js.map +1 -1
- package/dist/lib/layouts/graph/min-heap.d.ts +8 -0
- package/dist/lib/layouts/graph/min-heap.d.ts.map +1 -0
- package/dist/lib/layouts/graph/min-heap.js +56 -0
- package/dist/lib/layouts/graph/min-heap.js.map +1 -0
- package/dist/lib/layouts/graph/node-content.d.ts +2 -3
- package/dist/lib/layouts/graph/node-content.d.ts.map +1 -1
- package/dist/lib/layouts/graph/node-content.js +67 -47
- package/dist/lib/layouts/graph/node-content.js.map +1 -1
- package/dist/lib/layouts/graph/path.d.ts +6 -0
- package/dist/lib/layouts/graph/path.d.ts.map +1 -0
- package/dist/lib/layouts/graph/path.js +53 -0
- package/dist/lib/layouts/graph/path.js.map +1 -0
- package/dist/lib/layouts/graph/round.d.ts +11 -0
- package/dist/lib/layouts/graph/round.d.ts.map +1 -0
- package/dist/lib/layouts/graph/round.js +181 -0
- package/dist/lib/layouts/graph/round.js.map +1 -0
- package/dist/lib/layouts/graph/route-search.d.ts +34 -0
- package/dist/lib/layouts/graph/route-search.d.ts.map +1 -0
- package/dist/lib/layouts/graph/route-search.js +208 -0
- package/dist/lib/layouts/graph/route-search.js.map +1 -0
- package/dist/lib/layouts/graph/route.d.ts +20 -0
- package/dist/lib/layouts/graph/route.d.ts.map +1 -0
- package/dist/lib/layouts/graph/route.js +276 -0
- package/dist/lib/layouts/graph/route.js.map +1 -0
- package/dist/lib/layouts/graph/sides.d.ts +28 -0
- package/dist/lib/layouts/graph/sides.d.ts.map +1 -0
- package/dist/lib/layouts/graph/sides.js +98 -0
- package/dist/lib/layouts/graph/sides.js.map +1 -0
- package/dist/lib/layouts/timeline/timeline-layout.d.ts +2 -1
- package/dist/lib/layouts/timeline/timeline-layout.d.ts.map +1 -1
- package/dist/lib/layouts/timeline/timeline-layout.js +9 -4
- package/dist/lib/layouts/timeline/timeline-layout.js.map +1 -1
- package/dist/lib/model/diagram-ir.d.ts +19 -156
- package/dist/lib/model/diagram-ir.d.ts.map +1 -1
- package/dist/lib/model/diagram-ir.js.map +1 -1
- package/dist/lib/model/validate-graph.d.ts +7 -0
- package/dist/lib/model/validate-graph.d.ts.map +1 -0
- package/dist/lib/model/validate-graph.js +54 -0
- package/dist/lib/model/validate-graph.js.map +1 -0
- package/dist/lib/react/Diagram.d.ts +3 -9
- package/dist/lib/react/Diagram.d.ts.map +1 -1
- package/dist/lib/react/Diagram.js +1 -13
- package/dist/lib/react/Diagram.js.map +1 -1
- package/dist/lib/react/diagram-types.d.ts +17 -46
- package/dist/lib/react/diagram-types.d.ts.map +1 -1
- package/dist/lib/react/diagram-types.js.map +1 -1
- package/dist/lib/renderers/canvas/graph-canvas.d.ts +2 -5
- package/dist/lib/renderers/canvas/graph-canvas.d.ts.map +1 -1
- package/dist/lib/renderers/canvas/graph-canvas.js +68 -43
- package/dist/lib/renderers/canvas/graph-canvas.js.map +1 -1
- package/dist/lib/renderers/html/graph-html.d.ts +2 -3
- package/dist/lib/renderers/html/graph-html.d.ts.map +1 -1
- package/dist/lib/renderers/html/graph-html.js +298 -289
- package/dist/lib/renderers/html/graph-html.js.map +1 -1
- package/dist/lib/renderers/shared/graph-parts.d.ts +3 -1
- package/dist/lib/renderers/shared/graph-parts.d.ts.map +1 -1
- package/dist/lib/renderers/shared/graph-parts.js +350 -418
- package/dist/lib/renderers/shared/graph-parts.js.map +1 -1
- package/dist/lib/renderers/shared/node-parts.d.ts +5 -6
- package/dist/lib/renderers/shared/node-parts.d.ts.map +1 -1
- package/dist/lib/renderers/shared/node-parts.js +112 -190
- package/dist/lib/renderers/shared/node-parts.js.map +1 -1
- package/dist/lib/renderers/shared/run-spans.js +2 -2
- package/dist/lib/renderers/shared/run-spans.js.map +1 -1
- package/dist/lib/renderers/shared/text-runs.d.ts +0 -6
- package/dist/lib/renderers/shared/text-runs.d.ts.map +1 -1
- package/dist/lib/renderers/shared/text-runs.js +0 -12
- package/dist/lib/renderers/shared/text-runs.js.map +1 -1
- package/dist/lib/renderers/svg/graph-svg.d.ts +1 -3
- package/dist/lib/renderers/svg/graph-svg.d.ts.map +1 -1
- package/dist/lib/renderers/svg/graph-svg.js +66 -80
- package/dist/lib/renderers/svg/graph-svg.js.map +1 -1
- package/dist/lib/renderers/svg/timeline-svg.d.ts.map +1 -1
- package/dist/lib/renderers/svg/timeline-svg.js +7 -5
- package/dist/lib/renderers/svg/timeline-svg.js.map +1 -1
- package/package.json +1 -1
- package/dist/lib/layouts/graph/graph-layout.d.ts +0 -154
- package/dist/lib/layouts/graph/graph-layout.d.ts.map +0 -1
- package/dist/lib/layouts/graph/graph-layout.js +0 -2340
- package/dist/lib/layouts/graph/graph-layout.js.map +0 -1
- package/dist/lib/layouts/graph/legacy-graph-layout.d.ts +0 -6
- package/dist/lib/layouts/graph/legacy-graph-layout.d.ts.map +0 -1
- package/dist/lib/layouts/graph/legacy-graph-layout.js +0 -542
- package/dist/lib/layouts/graph/legacy-graph-layout.js.map +0 -1
- package/dist/lib/layouts/text-metrics.d.ts +0 -7
- package/dist/lib/layouts/text-metrics.d.ts.map +0 -1
- package/dist/lib/layouts/text-metrics.js +0 -40
- package/dist/lib/layouts/text-metrics.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-parts.js","names":["motion","useTransform","FONT_FAMILY","DIAGRAM_BG","DIAGRAM_DIM","DIAGRAM_NEUTRAL","DIAGRAM_ON_ACCENT","DIAGRAM_SURFACE_MUTED","DIAGRAM_TEXT","resolveDiagramToneFill","resolveDiagramToneStroke","useDiagramTheme","RunSpans","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","nodeFrameFill","node","frame","tone","nodeFrameStroke","themeAccent","accentToneStroke","subject","fallback","accent","nodeTextFill","textColor","nodeFrameStrokeWidth","nodeTexture","texture","textureFill","ids","dots","hatch","edgeDasharray","edge","lineStyle","undefined","edgeStroke","dim","edgeMarkerId","arrowAccent","arrowDim","arrowNeutral","edgeLabelFill","buildSegments","nodeCount","edgeCount","slotCount","step","i","segments","push","kind","index","start","end","n","e","DiagramNodeIcon","t0","$","_c","icon","x","y","size","color","scale","t1","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","common","t2","t3","children","d","cx","cy","r","t4","t5","width","height","rx","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","t16","t17","t18","t19","ry","t20","t21","t22","t23","t24","t25","transform","GroupRect","layout","progress","Symbol","for","clamp","opacity","group","rect","box","band","label","dasharray","hasFrame","hasFill","surfaceFill","texturePattern","dividers","cols","rows","map","_temp","_temp2","dividerKeys","firstLabel","h","w","id","pointerEvents","x1","y1","x2","y2","from","to","key","textAnchor","anchor","fontFamily","font","face","fontSize","fontWeight","weight","ports","PortMarkers","ownerId","declared","g","style","value_0","value","EdgeStroke","markerId","direction","headless","markerUrl","drawEnd","pathLength","pathOpacity","layer","channel","route","path","markerStart","markerEnd","EdgeOverlay","badge","labelFill","labelOpacity","EdgeLabel","EdgeBadge","first","text","labelFrame","labelLineGap","segment","runs","origin","run","local","badgeIcon","length","port","find","side","point"],"sources":["../../../../src/lib/renderers/shared/graph-parts.tsx"],"sourcesContent":["import { type MotionValue, motion, useTransform } from 'motion/react';\n\nimport type {\n EdgeLayout,\n GroupLayout,\n PortLayout,\n} from '../../layouts/graph/graph-layout-result.ts';\nimport { FONT_FAMILY } from '../../layouts/text/font.ts';\nimport type {\n DiagramEdge,\n DiagramNode,\n DiagramNodeIcon as DiagramNodeIconName,\n DiagramNodePort,\n DiagramTexture,\n DiagramTone,\n} from '../../model/diagram-ir.ts';\nimport {\n DIAGRAM_BG,\n DIAGRAM_DIM,\n DIAGRAM_NEUTRAL,\n DIAGRAM_ON_ACCENT,\n DIAGRAM_SURFACE_MUTED,\n DIAGRAM_TEXT,\n type DiagramIds,\n resolveDiagramToneFill,\n resolveDiagramToneStroke,\n useDiagramTheme,\n} from '../../react/chrome/index.ts';\nimport { RunSpans } from './run-spans.tsx';\n\nexport function nodeFrameFill(node: DiagramNode, frame: DiagramNode['frame']) {\n if (frame === 'transparent') return 'transparent';\n if (frame === 'filled') return DIAGRAM_TEXT;\n if (node.tone) return resolveDiagramToneFill(node.tone);\n if (frame === 'flat') return DIAGRAM_SURFACE_MUTED;\n return DIAGRAM_BG;\n}\n\nexport function nodeFrameStroke(\n node: DiagramNode,\n frame: DiagramNode['frame'],\n themeAccent: string,\n) {\n if (frame === 'transparent' || frame === 'flat') return 'transparent';\n if (frame === 'filled') return DIAGRAM_TEXT;\n return accentToneStroke(node, themeAccent, DIAGRAM_NEUTRAL);\n}\n\n/** The theme accent, else the tone's stroke, else the fallback. */\nexport function accentToneStroke(\n subject: { accent?: boolean | undefined; tone?: DiagramTone | undefined },\n themeAccent: string,\n fallback: string,\n) {\n if (subject.accent) return themeAccent;\n if (subject.tone) return resolveDiagramToneStroke(subject.tone);\n return fallback;\n}\n\nexport function nodeTextFill(\n node: DiagramNode,\n frame: DiagramNode['frame'],\n themeAccent: string,\n) {\n if (node.textColor === 'accent') return themeAccent;\n if (node.textColor === 'dim') return DIAGRAM_DIM;\n return frame === 'filled' ? DIAGRAM_ON_ACCENT : DIAGRAM_TEXT;\n}\n\nexport function nodeFrameStrokeWidth(node: DiagramNode) {\n return node.frame === 'flat' ? 0 : 1.5;\n}\n\nexport function nodeTexture(node: DiagramNode, frame: DiagramNode['frame']) {\n return node.texture ?? (frame === 'solid' ? 'dots' : 'none');\n}\n\nexport function textureFill(texture: DiagramTexture, ids: DiagramIds) {\n if (texture === 'dots') return `url(#${ids.dots})`;\n if (texture === 'hatch') return `url(#${ids.hatch})`;\n return null;\n}\n\nfunction edgeDasharray(edge: DiagramEdge) {\n if (edge.lineStyle === 'dashed') return '6 6';\n if (edge.lineStyle === 'dotted') return '1 6';\n return undefined;\n}\n\nfunction edgeStroke(edge: DiagramEdge, themeAccent: string) {\n if (edge.accent) return themeAccent;\n if (edge.dim) return DIAGRAM_DIM;\n return DIAGRAM_NEUTRAL;\n}\n\nfunction edgeMarkerId(edge: DiagramEdge, ids: DiagramIds) {\n if (edge.accent) return ids.arrowAccent;\n if (edge.dim) return ids.arrowDim;\n return ids.arrowNeutral;\n}\n\nfunction edgeLabelFill(edge: DiagramEdge, themeAccent: string) {\n if (edge.accent) return themeAccent;\n if (edge.dim) return DIAGRAM_DIM;\n return DIAGRAM_TEXT;\n}\n\nexport type SegmentKind = 'groups' | 'node' | 'edge';\nexport type LayoutSegment = {\n kind: SegmentKind;\n index: number;\n start: number;\n end: number;\n};\n\nexport function buildSegments(\n nodeCount: number,\n edgeCount: number,\n): LayoutSegment[] {\n const slotCount = 1 + nodeCount + edgeCount;\n const step = 1 / slotCount;\n let i = 0;\n const segments: LayoutSegment[] = [];\n segments.push({ kind: 'groups', index: 0, start: i * step, end: ++i * step });\n for (let n = 0; n < nodeCount; n++) {\n segments.push({\n kind: 'node',\n index: n,\n start: i * step,\n end: ++i * step,\n });\n }\n for (let e = 0; e < edgeCount; e++) {\n segments.push({\n kind: 'edge',\n index: e,\n start: i * step,\n end: ++i * step,\n });\n }\n return segments;\n}\n\nexport function DiagramNodeIcon({\n icon,\n x,\n y,\n size,\n color,\n}: {\n icon: DiagramNodeIconName;\n x: number;\n y: number;\n size: number;\n color: string;\n}) {\n const scale = size / 64;\n const common = {\n fill: 'none',\n stroke: color,\n strokeWidth: 4,\n strokeLinecap: 'round' as const,\n strokeLinejoin: 'round' as const,\n };\n\n return (\n <g\n data-diagram-node-icon={icon}\n transform={`translate(${x} ${y}) scale(${scale})`}\n >\n {icon === 'certificate' && (\n <>\n <path {...common} d=\"M18 8h28l8 8v40H18z\" />\n <path {...common} d=\"M46 8v10h10\" />\n <path {...common} d=\"M25 24h20\" />\n <path {...common} d=\"M25 34h14\" />\n <circle {...common} cx=\"42\" cy=\"45\" r=\"7\" />\n <path {...common} d=\"M38 52l-3 8 7-4 7 4-3-8\" />\n </>\n )}\n {icon === 'cloudflare' && (\n <>\n <path\n {...common}\n d=\"M20 46h29c6 0 10-4 10-10s-4-10-10-10h-2C44 16 36 10 27 12c-8 1-14 8-14 17-6 1-10 5-10 11 0 4 3 6 8 6h9\"\n />\n <path {...common} d=\"M21 36h28\" />\n <path {...common} d=\"M28 27h17\" />\n </>\n )}\n {icon === 'dashboard' && (\n <>\n <rect {...common} x=\"8\" y=\"12\" width=\"48\" height=\"40\" rx=\"6\" />\n <path {...common} d=\"M16 24h10v10H16z\" />\n <path {...common} d=\"M36 24h12\" />\n <path {...common} d=\"M36 34h8\" />\n <path {...common} d=\"M16 44h32\" />\n </>\n )}\n {icon === 'file' && (\n <>\n <path {...common} d=\"M18 8h20l12 12v36H18z\" />\n <path {...common} d=\"M38 8v14h14\" />\n <path {...common} d=\"M25 34h20\" />\n <path {...common} d=\"M25 44h14\" />\n </>\n )}\n {icon === 'git' && (\n <>\n <path {...common} d=\"M32 6l26 26-26 26L6 32z\" />\n <circle {...common} cx=\"23\" cy=\"23\" r=\"4\" />\n <circle {...common} cx=\"41\" cy=\"41\" r=\"4\" />\n <circle {...common} cx=\"41\" cy=\"23\" r=\"4\" />\n <path {...common} d=\"M27 23h10\" />\n <path {...common} d=\"M26 26l12 12\" />\n </>\n )}\n {icon === 'gpu' && (\n <>\n <rect {...common} x=\"14\" y=\"18\" width=\"36\" height=\"28\" rx=\"4\" />\n <rect {...common} x=\"24\" y=\"26\" width=\"16\" height=\"12\" rx=\"2\" />\n <path {...common} d=\"M8 24h6M8 32h6M8 40h6M50 24h6M50 32h6M50 40h6\" />\n <path\n {...common}\n d=\"M22 12v6M32 12v6M42 12v6M22 46v6M32 46v6M42 46v6\"\n />\n </>\n )}\n {icon === 'user' && (\n <>\n <rect {...common} x=\"10\" y=\"8\" width=\"44\" height=\"48\" rx=\"8\" />\n <circle {...common} cx=\"32\" cy=\"25\" r=\"9\" />\n <path {...common} d=\"M17 53c3-11 9-16 15-16s12 5 15 16\" />\n </>\n )}\n {icon === 'brain' && (\n <>\n <path\n {...common}\n d=\"M25 11c-8 0-13 5-13 12-5 2-8 7-8 13 0 8 6 14 14 14 2 5 7 8 13 8V11z\"\n />\n <path\n {...common}\n d=\"M39 11c8 0 13 5 13 12 5 2 8 7 8 13 0 8-6 14-14 14-2 5-7 8-13 8V11z\"\n />\n <path {...common} d=\"M18 25c4 0 7-2 9-5\" />\n <path {...common} d=\"M46 25c-4 0-7-2-9-5\" />\n <path {...common} d=\"M16 39c5-1 9 1 12 5\" />\n <path {...common} d=\"M48 39c-5-1-9 1-12 5\" />\n </>\n )}\n {icon === 'internet' && (\n <>\n <circle {...common} cx=\"32\" cy=\"32\" r=\"24\" />\n <path {...common} d=\"M8 32h48\" />\n <path {...common} d=\"M32 8c8 7 12 15 12 24s-4 17-12 24\" />\n <path {...common} d=\"M32 8c-8 7-12 15-12 24s4 17 12 24\" />\n <path {...common} d=\"M15 20h34M15 44h34\" />\n </>\n )}\n {icon === 'istio' && (\n <>\n <path {...common} d=\"M14 54L32 8l18 46z\" />\n <path {...common} d=\"M32 8v46\" />\n <path {...common} d=\"M22 38h20\" />\n </>\n )}\n {icon === 'kubernetes' && (\n <>\n <path {...common} d=\"M32 6l22 13v26L32 58 10 45V19z\" />\n <circle {...common} cx=\"32\" cy=\"32\" r=\"9\" />\n <path\n {...common}\n d=\"M32 14v9M32 41v9M16 23l8 5M40 36l8 5M48 23l-8 5M24 36l-8 5\"\n />\n </>\n )}\n {icon === 'logs' && (\n <>\n <rect {...common} x=\"12\" y=\"10\" width=\"40\" height=\"44\" rx=\"5\" />\n <path {...common} d=\"M20 23h24M20 32h24M20 41h16\" />\n <path {...common} d=\"M20 14v8\" />\n </>\n )}\n {icon === 'metrics' && (\n <>\n <path {...common} d=\"M10 52h44\" />\n <path {...common} d=\"M18 52V34M32 52V20M46 52V28\" />\n <path {...common} d=\"M14 28l13-10 10 9 13-15\" />\n </>\n )}\n {icon === 'router' && (\n <>\n <rect {...common} x=\"10\" y=\"30\" width=\"44\" height=\"16\" rx=\"3\" />\n <path {...common} d=\"M20 30l-6-16M44 30l6-16\" />\n <path {...common} d=\"M20 38h2M29 38h2M38 38h2M47 38h2\" />\n <path {...common} d=\"M16 52h32\" />\n </>\n )}\n {icon === 'server' && (\n <>\n <rect {...common} x=\"12\" y=\"10\" width=\"40\" height=\"14\" rx=\"3\" />\n <rect {...common} x=\"12\" y=\"28\" width=\"40\" height=\"14\" rx=\"3\" />\n <rect {...common} x=\"12\" y=\"46\" width=\"40\" height=\"8\" rx=\"3\" />\n <path {...common} d=\"M20 17h2M20 35h2M44 17h1M44 35h1\" />\n </>\n )}\n {icon === 'shield' && (\n <>\n <path\n {...common}\n d=\"M32 6l22 9v15c0 14-8 23-22 28C18 53 10 44 10 30V15z\"\n />\n <path {...common} d=\"M22 32l7 7 14-16\" />\n </>\n )}\n {icon === 'storage' && (\n <>\n <ellipse {...common} cx=\"32\" cy=\"16\" rx=\"20\" ry=\"8\" />\n <path {...common} d=\"M12 16v30c0 4 9 8 20 8s20-4 20-8V16\" />\n <path {...common} d=\"M12 31c0 4 9 8 20 8s20-4 20-8\" />\n </>\n )}\n {icon === 'trace' && (\n <>\n <circle {...common} cx=\"14\" cy=\"32\" r=\"6\" />\n <circle {...common} cx=\"32\" cy=\"16\" r=\"6\" />\n <circle {...common} cx=\"50\" cy=\"32\" r=\"6\" />\n <circle {...common} cx=\"32\" cy=\"48\" r=\"6\" />\n <path {...common} d=\"M19 28l8-8M37 20l8 8M45 36l-8 8M27 44l-8-8\" />\n </>\n )}\n {icon === 'tunnel' && (\n <>\n <circle {...common} cx=\"22\" cy=\"32\" r=\"14\" />\n <circle {...common} cx=\"42\" cy=\"32\" r=\"14\" />\n <path {...common} d=\"M8 32h48\" />\n <path {...common} d=\"M22 18c7 7 7 21 0 28\" />\n <path {...common} d=\"M42 18c-7 7-7 21 0 28\" />\n </>\n )}\n {icon === 'eye' && (\n <>\n <path\n {...common}\n d=\"M6 32c7-12 16-18 26-18s19 6 26 18c-7 12-16 18-26 18S13 44 6 32z\"\n />\n <circle {...common} cx=\"32\" cy=\"32\" r=\"9\" />\n </>\n )}\n {icon === 'eye-off' && (\n <>\n <path {...common} d=\"M8 32c5-9 12-15 20-17\" />\n <path {...common} d=\"M38 15c7 2 13 8 18 17-3 6-8 11-13 14\" />\n <path {...common} d=\"M20 43c4 4 8 6 12 6 4 0 8-1 12-4\" />\n <path {...common} d=\"M14 10l36 44\" />\n <path {...common} d=\"M27 27c-2 4-1 9 3 11 3 2 8 1 10-2\" />\n </>\n )}\n {icon === 'ellipsis' && (\n <>\n <circle cx=\"16\" cy=\"32\" r=\"4.8\" fill={color} />\n <circle cx=\"32\" cy=\"32\" r=\"4.8\" fill={color} />\n <circle cx=\"48\" cy=\"32\" r=\"4.8\" fill={color} />\n </>\n )}\n </g>\n );\n}\n\nexport function GroupRect({\n layout,\n progress,\n start,\n end,\n}: {\n layout: GroupLayout;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent, ids } = useDiagramTheme();\n const opacity = useTransform(progress, [start, end], [0, 1], {\n clamp: true,\n });\n const { group, rect: box, band, label } = layout;\n const rx = group.rx ?? 12;\n const frame = group.frame ?? 'solid';\n const fill = group.fill ?? 'surface';\n const stroke = accentToneStroke(group, themeAccent, DIAGRAM_NEUTRAL);\n const dasharray = frame === 'dashed' ? '6 6' : undefined;\n const hasFrame = frame !== 'none';\n const hasFill = fill !== 'none';\n const surfaceFill =\n hasFill && group.tone ? resolveDiagramToneFill(group.tone) : DIAGRAM_BG;\n const texture = group.texture ?? (hasFill ? 'dots' : 'none');\n const texturePattern = hasFill ? textureFill(texture, ids) : null;\n const dividerKeys = [\n ...(group.dividers?.rows ?? []).map((value) => `row:${value}`),\n ...(group.dividers?.cols ?? []).map((value) => `col:${value}`),\n ];\n const [firstLabel] = label;\n return (\n <motion.g style={{ opacity }}>\n <rect\n data-diagram-group={group.id}\n data-diagram-group-tone={group.tone}\n x={box.x}\n y={box.y}\n width={box.w}\n height={box.h}\n rx={rx}\n fill={hasFill ? surfaceFill : 'none'}\n stroke={hasFrame ? stroke : 'none'}\n strokeWidth={hasFrame ? 1 : 0}\n strokeDasharray={dasharray}\n />\n {texturePattern && (\n <rect\n data-diagram-group-texture={`${group.id}:${texture}`}\n x={box.x}\n y={box.y}\n width={box.w}\n height={box.h}\n rx={rx}\n fill={texturePattern}\n pointerEvents=\"none\"\n />\n )}\n {band && (\n <>\n <rect\n data-diagram-group-title-band={group.id}\n x={band.x}\n y={band.y}\n width={band.w}\n height={band.h}\n fill={hasFill ? surfaceFill : DIAGRAM_BG}\n pointerEvents=\"none\"\n />\n <line\n data-diagram-group-title-separator={group.id}\n x1={band.x}\n y1={band.y + band.h}\n x2={band.x + band.w}\n y2={band.y + band.h}\n stroke={stroke}\n strokeWidth={1}\n strokeDasharray={dasharray}\n />\n </>\n )}\n {layout.dividers.map(([from, to], i) => {\n const key = dividerKeys[i] ?? `${i}`;\n return (\n <line\n key={key}\n x1={from.x}\n y1={from.y}\n x2={to.x}\n y2={to.y}\n stroke={group.accent ? themeAccent : DIAGRAM_NEUTRAL}\n strokeWidth={1}\n strokeDasharray={dasharray}\n data-diagram-group-divider={`${group.id}:${key}`}\n />\n );\n })}\n {firstLabel && (\n <text\n data-diagram-group-label={group.id}\n x={firstLabel.x}\n y={firstLabel.y}\n textAnchor={firstLabel.anchor}\n fontFamily={FONT_FAMILY[firstLabel.font.face]}\n fontSize={firstLabel.font.size}\n fontWeight={firstLabel.font.weight}\n fill={DIAGRAM_TEXT}\n >\n <RunSpans runs={label} />\n </text>\n )}\n <PortMarkers\n ownerId={group.id}\n ports={layout.ports ?? []}\n declared={group.ports}\n />\n </motion.g>\n );\n}\n\nexport function EdgeStroke({\n d,\n edge,\n progress,\n start,\n end,\n}: {\n d: string;\n edge: DiagramEdge;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent, ids } = useDiagramTheme();\n const stroke = edgeStroke(edge, themeAccent);\n const markerId = edgeMarkerId(edge, ids);\n const direction = edge.headless ? 'none' : (edge.direction ?? 'forward');\n const markerUrl = `url(#${markerId})`;\n const strokeWidth = edge.strokeWidth ?? 1.5;\n const dasharray = edgeDasharray(edge);\n\n const drawEnd = start + (end - start) * 0.85;\n const pathLength = useTransform(progress, [start, drawEnd], [0, 1], {\n clamp: true,\n });\n const pathOpacity = useTransform(progress, [start, start + 0.001], [0, 1], {\n clamp: true,\n });\n\n return (\n <motion.path\n data-diagram-edge={`${edge.from}->${edge.to}`}\n data-diagram-edge-channel={edge.channel}\n data-diagram-edge-line-style={edge.lineStyle}\n data-diagram-edge-direction={direction}\n data-diagram-edge-layer={edge.layer ?? 'foreground'}\n data-diagram-edge-route={edge.route}\n d={d}\n fill=\"none\"\n stroke={stroke}\n strokeWidth={strokeWidth}\n strokeDasharray={dasharray}\n strokeLinejoin=\"round\"\n strokeLinecap=\"round\"\n markerStart={direction === 'both' ? markerUrl : undefined}\n markerEnd={\n direction === 'forward' || direction === 'both' ? markerUrl : undefined\n }\n style={\n dasharray\n ? { opacity: pathOpacity }\n : { pathLength, opacity: pathOpacity }\n }\n />\n );\n}\n\nexport function EdgeOverlay({\n layout,\n progress,\n start,\n end,\n}: {\n layout: EdgeLayout;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent } = useDiagramTheme();\n const { edge, label, badge } = layout;\n const labelFill = edgeLabelFill(edge, themeAccent);\n const drawEnd = start + (end - start) * 0.85;\n const labelOpacity = useTransform(progress, [drawEnd, end], [0, 1], {\n clamp: true,\n });\n\n return (\n <>\n {label && (\n <EdgeLabel\n edge={edge}\n label={label}\n fill={labelFill}\n opacity={labelOpacity}\n />\n )}\n {badge && (\n <EdgeBadge\n edge={edge}\n badge={badge}\n fill={labelFill}\n opacity={labelOpacity}\n />\n )}\n </>\n );\n}\n\nfunction EdgeLabel({\n edge,\n label,\n fill,\n opacity,\n}: {\n edge: DiagramEdge;\n label: NonNullable<EdgeLayout['label']>;\n fill: string;\n opacity: MotionValue<number>;\n}) {\n const { box } = label;\n const [first] = label.text;\n if (!first) return null;\n\n return (\n <motion.g style={{ opacity }}>\n {edge.labelFrame && (\n <rect\n data-diagram-edge-label-frame={`${edge.from}->${edge.to}`}\n data-diagram-edge-label-segment={label.segment}\n data-diagram-edge-label-line-gap={edge.labelLineGap}\n x={box.x}\n y={box.y}\n width={box.w}\n height={box.h}\n rx={box.h / 2}\n fill={DIAGRAM_BG}\n stroke={fill}\n strokeWidth={0.75}\n />\n )}\n <text\n data-diagram-edge-label={`${edge.from}->${edge.to}`}\n data-diagram-edge-label-segment={label.segment}\n data-diagram-edge-label-line-gap={edge.labelLineGap}\n x={first.x}\n y={first.y}\n textAnchor={first.anchor}\n fontFamily={FONT_FAMILY[first.font.face]}\n fontSize={first.font.size}\n fill={fill}\n >\n <RunSpans runs={label.text} />\n </text>\n </motion.g>\n );\n}\n\n/**\n * The badge draws in its own frame, centred on the badge, so that it can move\n * as one piece.\n */\nfunction EdgeBadge({\n edge,\n badge,\n fill,\n opacity,\n}: {\n edge: DiagramEdge;\n badge: NonNullable<EdgeLayout['badge']>;\n fill: string;\n opacity: MotionValue<number>;\n}) {\n const { box, icon, text } = badge;\n const origin = { x: box.x + box.w / 2, y: box.y + box.h / 2 };\n const local = text.map((run) => ({\n ...run,\n x: run.x - origin.x,\n y: run.y - origin.y,\n }));\n const [first] = local;\n\n return (\n <motion.g\n data-diagram-edge-badge={`${edge.from}->${edge.to}`}\n transform={`translate(${origin.x} ${origin.y})`}\n style={{ opacity }}\n >\n <rect\n x={box.x - origin.x}\n y={box.y - origin.y}\n width={box.w}\n height={box.h}\n rx={10}\n fill={DIAGRAM_BG}\n stroke={fill}\n strokeWidth={1}\n />\n {edge.badgeIcon && icon && (\n <DiagramNodeIcon\n icon={edge.badgeIcon}\n x={icon.x - origin.x}\n y={icon.y - origin.y}\n size={icon.w}\n color={fill}\n />\n )}\n {first && (\n <text\n x={first.x}\n y={first.y}\n textAnchor={first.anchor}\n fontFamily={FONT_FAMILY[first.font.face]}\n fontSize={first.font.size}\n fontWeight={first.font.weight}\n fill={fill}\n >\n <RunSpans runs={local} />\n </text>\n )}\n </motion.g>\n );\n}\n\nexport function PortMarkers({\n ownerId,\n ports,\n declared,\n}: {\n ownerId: string;\n ports: PortLayout[];\n declared: DiagramNodePort[] | undefined;\n}) {\n const { accent: themeAccent } = useDiagramTheme();\n if (ports.length === 0) return null;\n return (\n <>\n {ports.map((port) => {\n const accent = declared?.find(({ id }) => id === port.id)?.accent;\n const stroke = accent ? themeAccent : DIAGRAM_NEUTRAL;\n const fill = accent ? themeAccent : DIAGRAM_BG;\n return (\n <g\n key={port.id}\n data-diagram-port={`${ownerId}:${port.id}`}\n data-diagram-port-side={port.side}\n >\n <circle\n cx={port.point.x}\n cy={port.point.y}\n r={4}\n fill={fill}\n stroke={stroke}\n strokeWidth={1.5}\n />\n {port.label && (\n <text\n x={port.label.x}\n y={port.label.y}\n textAnchor={port.label.anchor}\n fontFamily={FONT_FAMILY[port.label.font.face]}\n fontSize={port.label.font.size}\n fontWeight={port.label.font.weight}\n fill={stroke}\n >\n {port.label.text}\n </text>\n )}\n </g>\n );\n })}\n </>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"graph-parts.js","names":["motion","useTransform","FONT_FAMILY","DIAGRAM_BG","DIAGRAM_DIM","DIAGRAM_NEUTRAL","DIAGRAM_ON_ACCENT","DIAGRAM_SURFACE_MUTED","DIAGRAM_TEXT","resolveDiagramToneFill","resolveDiagramToneStroke","useDiagramTheme","RunSpans","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","nodeFrameFill","node","frame","tone","nodeFrameStroke","themeAccent","accentToneStroke","subject","fallback","accent","nodeTextFill","textColor","nodeFrameStrokeWidth","nodeTexture","texture","textureFill","ids","dots","hatch","edgeDasharray","edge","lineStyle","undefined","EDGE_STROKE_WIDTH","regular","bold","GROUP_RADIUS","edgeStroke","dim","edgeMarkerId","arrowAccent","arrowDim","arrowNeutral","edgeLabelFill","buildSegments","nodeCount","edgeCount","slotCount","step","i","segments","push","kind","index","start","end","n","e","DiagramNodeIcon","t0","$","_c","icon","x","y","size","color","t1","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","common","t2","children","d","cx","cy","r","t3","t4","width","height","rx","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","t16","t17","t18","ry","t19","t20","t21","t22","t23","t24","viewBox","overflow","GroupRect","layout","progress","Symbol","for","clamp","opacity","group","rect","box","band","separator","label","dasharray","hasFrame","hasFill","surfaceFill","texturePattern","firstLabel","h","w","id","pointerEvents","x1","y1","x2","y2","dividers","from","to","map","textAnchor","anchor","fontFamily","font","face","fontSize","fontWeight","weight","ports","PortMarkers","ownerId","declared","g","style","EdgeStroke","markerId","direction","headless","markerUrl","drawEnd","pathLength","pathOpacity","layer","channel","path","markerStart","markerEnd","EdgeOverlay","badge","labelFill","labelOpacity","EdgeLabel","EdgeBadge","first","text","labelFrame","runs","badgeIcon","length","port","find","side","point"],"sources":["../../../../src/lib/renderers/shared/graph-parts.tsx"],"sourcesContent":["import { type MotionValue, motion, useTransform } from 'motion/react';\n\nimport type {\n EdgeLayout,\n GroupLayout,\n PortLayout,\n} from '../../layouts/graph/graph-layout-result.ts';\nimport { FONT_FAMILY } from '../../layouts/text/font.ts';\nimport type {\n DiagramEdge,\n DiagramEdgeWeight,\n DiagramNode,\n DiagramNodeIcon as DiagramNodeIconName,\n DiagramNodePort,\n DiagramTexture,\n DiagramTone,\n} from '../../model/diagram-ir.ts';\nimport {\n DIAGRAM_BG,\n DIAGRAM_DIM,\n DIAGRAM_NEUTRAL,\n DIAGRAM_ON_ACCENT,\n DIAGRAM_SURFACE_MUTED,\n DIAGRAM_TEXT,\n type DiagramIds,\n resolveDiagramToneFill,\n resolveDiagramToneStroke,\n useDiagramTheme,\n} from '../../react/chrome/index.ts';\nimport { RunSpans } from './run-spans.tsx';\n\nexport function nodeFrameFill(node: DiagramNode, frame: DiagramNode['frame']) {\n if (frame === 'transparent') return 'transparent';\n if (frame === 'filled') return DIAGRAM_TEXT;\n if (node.tone) return resolveDiagramToneFill(node.tone);\n if (frame === 'flat') return DIAGRAM_SURFACE_MUTED;\n return DIAGRAM_BG;\n}\n\nexport function nodeFrameStroke(\n node: DiagramNode,\n frame: DiagramNode['frame'],\n themeAccent: string,\n) {\n if (frame === 'transparent' || frame === 'flat') return 'transparent';\n if (frame === 'filled') return DIAGRAM_TEXT;\n return accentToneStroke(node, themeAccent, DIAGRAM_NEUTRAL);\n}\n\n/** The theme accent, else the tone's stroke, else the fallback. */\nexport function accentToneStroke(\n subject: { accent?: boolean | undefined; tone?: DiagramTone | undefined },\n themeAccent: string,\n fallback: string,\n) {\n if (subject.accent) return themeAccent;\n if (subject.tone) return resolveDiagramToneStroke(subject.tone);\n return fallback;\n}\n\nexport function nodeTextFill(\n node: DiagramNode,\n frame: DiagramNode['frame'],\n themeAccent: string,\n) {\n if (node.textColor === 'accent') return themeAccent;\n if (node.textColor === 'dim') return DIAGRAM_DIM;\n return frame === 'filled' ? DIAGRAM_ON_ACCENT : DIAGRAM_TEXT;\n}\n\nexport function nodeFrameStrokeWidth(node: DiagramNode) {\n return node.frame === 'flat' ? 0 : 1.5;\n}\n\nexport function nodeTexture(node: DiagramNode, frame: DiagramNode['frame']) {\n return node.texture ?? (frame === 'solid' ? 'dots' : 'none');\n}\n\nexport function textureFill(texture: DiagramTexture, ids: DiagramIds) {\n if (texture === 'dots') return `url(#${ids.dots})`;\n if (texture === 'hatch') return `url(#${ids.hatch})`;\n return null;\n}\n\nfunction edgeDasharray(edge: DiagramEdge) {\n if (edge.lineStyle === 'dashed') return '6 6';\n if (edge.lineStyle === 'dotted') return '1 6';\n return undefined;\n}\n\n/** The stroke width of an edge of each weight. */\nexport const EDGE_STROKE_WIDTH: Record<DiagramEdgeWeight, number> = {\n regular: 1.5,\n bold: 3,\n};\n\n/** The corner radius a group frame is drawn with. */\nconst GROUP_RADIUS = 12;\n\nfunction edgeStroke(edge: DiagramEdge, themeAccent: string) {\n if (edge.accent) return themeAccent;\n if (edge.dim) return DIAGRAM_DIM;\n return DIAGRAM_NEUTRAL;\n}\n\nfunction edgeMarkerId(edge: DiagramEdge, ids: DiagramIds) {\n if (edge.accent) return ids.arrowAccent;\n if (edge.dim) return ids.arrowDim;\n return ids.arrowNeutral;\n}\n\nfunction edgeLabelFill(edge: DiagramEdge, themeAccent: string) {\n if (edge.accent) return themeAccent;\n if (edge.dim) return DIAGRAM_DIM;\n return DIAGRAM_TEXT;\n}\n\nexport type SegmentKind = 'groups' | 'node' | 'edge';\nexport type LayoutSegment = {\n kind: SegmentKind;\n index: number;\n start: number;\n end: number;\n};\n\nexport function buildSegments(\n nodeCount: number,\n edgeCount: number,\n): LayoutSegment[] {\n const slotCount = 1 + nodeCount + edgeCount;\n const step = 1 / slotCount;\n let i = 0;\n const segments: LayoutSegment[] = [];\n segments.push({ kind: 'groups', index: 0, start: i * step, end: ++i * step });\n for (let n = 0; n < nodeCount; n++) {\n segments.push({\n kind: 'node',\n index: n,\n start: i * step,\n end: ++i * step,\n });\n }\n for (let e = 0; e < edgeCount; e++) {\n segments.push({\n kind: 'edge',\n index: e,\n start: i * step,\n end: ++i * step,\n });\n }\n return segments;\n}\n\nexport function DiagramNodeIcon({\n icon,\n x,\n y,\n size,\n color,\n}: {\n icon: DiagramNodeIconName;\n x: number;\n y: number;\n size: number;\n color: string;\n}) {\n const common = {\n fill: 'none',\n stroke: color,\n strokeWidth: 4,\n strokeLinecap: 'round' as const,\n strokeLinejoin: 'round' as const,\n };\n\n return (\n <svg\n data-diagram-node-icon={icon}\n x={x}\n y={y}\n width={size}\n height={size}\n viewBox=\"0 0 64 64\"\n overflow=\"visible\"\n >\n {icon === 'certificate' && (\n <>\n <path {...common} d=\"M18 8h28l8 8v40H18z\" />\n <path {...common} d=\"M46 8v10h10\" />\n <path {...common} d=\"M25 24h20\" />\n <path {...common} d=\"M25 34h14\" />\n <circle {...common} cx=\"42\" cy=\"45\" r=\"7\" />\n <path {...common} d=\"M38 52l-3 8 7-4 7 4-3-8\" />\n </>\n )}\n {icon === 'cloudflare' && (\n <>\n <path\n {...common}\n d=\"M20 46h29c6 0 10-4 10-10s-4-10-10-10h-2C44 16 36 10 27 12c-8 1-14 8-14 17-6 1-10 5-10 11 0 4 3 6 8 6h9\"\n />\n <path {...common} d=\"M21 36h28\" />\n <path {...common} d=\"M28 27h17\" />\n </>\n )}\n {icon === 'dashboard' && (\n <>\n <rect {...common} x=\"8\" y=\"12\" width=\"48\" height=\"40\" rx=\"6\" />\n <path {...common} d=\"M16 24h10v10H16z\" />\n <path {...common} d=\"M36 24h12\" />\n <path {...common} d=\"M36 34h8\" />\n <path {...common} d=\"M16 44h32\" />\n </>\n )}\n {icon === 'file' && (\n <>\n <path {...common} d=\"M18 8h20l12 12v36H18z\" />\n <path {...common} d=\"M38 8v14h14\" />\n <path {...common} d=\"M25 34h20\" />\n <path {...common} d=\"M25 44h14\" />\n </>\n )}\n {icon === 'git' && (\n <>\n <path {...common} d=\"M32 6l26 26-26 26L6 32z\" />\n <circle {...common} cx=\"23\" cy=\"23\" r=\"4\" />\n <circle {...common} cx=\"41\" cy=\"41\" r=\"4\" />\n <circle {...common} cx=\"41\" cy=\"23\" r=\"4\" />\n <path {...common} d=\"M27 23h10\" />\n <path {...common} d=\"M26 26l12 12\" />\n </>\n )}\n {icon === 'gpu' && (\n <>\n <rect {...common} x=\"14\" y=\"18\" width=\"36\" height=\"28\" rx=\"4\" />\n <rect {...common} x=\"24\" y=\"26\" width=\"16\" height=\"12\" rx=\"2\" />\n <path {...common} d=\"M8 24h6M8 32h6M8 40h6M50 24h6M50 32h6M50 40h6\" />\n <path\n {...common}\n d=\"M22 12v6M32 12v6M42 12v6M22 46v6M32 46v6M42 46v6\"\n />\n </>\n )}\n {icon === 'user' && (\n <>\n <rect {...common} x=\"10\" y=\"8\" width=\"44\" height=\"48\" rx=\"8\" />\n <circle {...common} cx=\"32\" cy=\"25\" r=\"9\" />\n <path {...common} d=\"M17 53c3-11 9-16 15-16s12 5 15 16\" />\n </>\n )}\n {icon === 'brain' && (\n <>\n <path\n {...common}\n d=\"M25 11c-8 0-13 5-13 12-5 2-8 7-8 13 0 8 6 14 14 14 2 5 7 8 13 8V11z\"\n />\n <path\n {...common}\n d=\"M39 11c8 0 13 5 13 12 5 2 8 7 8 13 0 8-6 14-14 14-2 5-7 8-13 8V11z\"\n />\n <path {...common} d=\"M18 25c4 0 7-2 9-5\" />\n <path {...common} d=\"M46 25c-4 0-7-2-9-5\" />\n <path {...common} d=\"M16 39c5-1 9 1 12 5\" />\n <path {...common} d=\"M48 39c-5-1-9 1-12 5\" />\n </>\n )}\n {icon === 'internet' && (\n <>\n <circle {...common} cx=\"32\" cy=\"32\" r=\"24\" />\n <path {...common} d=\"M8 32h48\" />\n <path {...common} d=\"M32 8c8 7 12 15 12 24s-4 17-12 24\" />\n <path {...common} d=\"M32 8c-8 7-12 15-12 24s4 17 12 24\" />\n <path {...common} d=\"M15 20h34M15 44h34\" />\n </>\n )}\n {icon === 'istio' && (\n <>\n <path {...common} d=\"M14 54L32 8l18 46z\" />\n <path {...common} d=\"M32 8v46\" />\n <path {...common} d=\"M22 38h20\" />\n </>\n )}\n {icon === 'kubernetes' && (\n <>\n <path {...common} d=\"M32 6l22 13v26L32 58 10 45V19z\" />\n <circle {...common} cx=\"32\" cy=\"32\" r=\"9\" />\n <path\n {...common}\n d=\"M32 14v9M32 41v9M16 23l8 5M40 36l8 5M48 23l-8 5M24 36l-8 5\"\n />\n </>\n )}\n {icon === 'logs' && (\n <>\n <rect {...common} x=\"12\" y=\"10\" width=\"40\" height=\"44\" rx=\"5\" />\n <path {...common} d=\"M20 23h24M20 32h24M20 41h16\" />\n <path {...common} d=\"M20 14v8\" />\n </>\n )}\n {icon === 'metrics' && (\n <>\n <path {...common} d=\"M10 52h44\" />\n <path {...common} d=\"M18 52V34M32 52V20M46 52V28\" />\n <path {...common} d=\"M14 28l13-10 10 9 13-15\" />\n </>\n )}\n {icon === 'router' && (\n <>\n <rect {...common} x=\"10\" y=\"30\" width=\"44\" height=\"16\" rx=\"3\" />\n <path {...common} d=\"M20 30l-6-16M44 30l6-16\" />\n <path {...common} d=\"M20 38h2M29 38h2M38 38h2M47 38h2\" />\n <path {...common} d=\"M16 52h32\" />\n </>\n )}\n {icon === 'server' && (\n <>\n <rect {...common} x=\"12\" y=\"10\" width=\"40\" height=\"14\" rx=\"3\" />\n <rect {...common} x=\"12\" y=\"28\" width=\"40\" height=\"14\" rx=\"3\" />\n <rect {...common} x=\"12\" y=\"46\" width=\"40\" height=\"8\" rx=\"3\" />\n <path {...common} d=\"M20 17h2M20 35h2M44 17h1M44 35h1\" />\n </>\n )}\n {icon === 'shield' && (\n <>\n <path\n {...common}\n d=\"M32 6l22 9v15c0 14-8 23-22 28C18 53 10 44 10 30V15z\"\n />\n <path {...common} d=\"M22 32l7 7 14-16\" />\n </>\n )}\n {icon === 'storage' && (\n <>\n <ellipse {...common} cx=\"32\" cy=\"16\" rx=\"20\" ry=\"8\" />\n <path {...common} d=\"M12 16v30c0 4 9 8 20 8s20-4 20-8V16\" />\n <path {...common} d=\"M12 31c0 4 9 8 20 8s20-4 20-8\" />\n </>\n )}\n {icon === 'trace' && (\n <>\n <circle {...common} cx=\"14\" cy=\"32\" r=\"6\" />\n <circle {...common} cx=\"32\" cy=\"16\" r=\"6\" />\n <circle {...common} cx=\"50\" cy=\"32\" r=\"6\" />\n <circle {...common} cx=\"32\" cy=\"48\" r=\"6\" />\n <path {...common} d=\"M19 28l8-8M37 20l8 8M45 36l-8 8M27 44l-8-8\" />\n </>\n )}\n {icon === 'tunnel' && (\n <>\n <circle {...common} cx=\"22\" cy=\"32\" r=\"14\" />\n <circle {...common} cx=\"42\" cy=\"32\" r=\"14\" />\n <path {...common} d=\"M8 32h48\" />\n <path {...common} d=\"M22 18c7 7 7 21 0 28\" />\n <path {...common} d=\"M42 18c-7 7-7 21 0 28\" />\n </>\n )}\n {icon === 'eye' && (\n <>\n <path\n {...common}\n d=\"M6 32c7-12 16-18 26-18s19 6 26 18c-7 12-16 18-26 18S13 44 6 32z\"\n />\n <circle {...common} cx=\"32\" cy=\"32\" r=\"9\" />\n </>\n )}\n {icon === 'eye-off' && (\n <>\n <path {...common} d=\"M8 32c5-9 12-15 20-17\" />\n <path {...common} d=\"M38 15c7 2 13 8 18 17-3 6-8 11-13 14\" />\n <path {...common} d=\"M20 43c4 4 8 6 12 6 4 0 8-1 12-4\" />\n <path {...common} d=\"M14 10l36 44\" />\n <path {...common} d=\"M27 27c-2 4-1 9 3 11 3 2 8 1 10-2\" />\n </>\n )}\n {icon === 'ellipsis' && (\n <>\n <circle cx=\"16\" cy=\"32\" r=\"4.8\" fill={color} />\n <circle cx=\"32\" cy=\"32\" r=\"4.8\" fill={color} />\n <circle cx=\"48\" cy=\"32\" r=\"4.8\" fill={color} />\n </>\n )}\n </svg>\n );\n}\n\nexport function GroupRect({\n layout,\n progress,\n start,\n end,\n}: {\n layout: GroupLayout;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent, ids } = useDiagramTheme();\n const opacity = useTransform(progress, [start, end], [0, 1], {\n clamp: true,\n });\n const { group, rect: box, band, separator, label } = layout;\n const frame = group.frame ?? 'solid';\n const fill = group.fill ?? 'surface';\n const stroke = accentToneStroke(group, themeAccent, DIAGRAM_NEUTRAL);\n const dasharray = frame === 'dashed' ? '6 6' : undefined;\n const hasFrame = frame !== 'none';\n const hasFill = fill !== 'none';\n const surfaceFill =\n hasFill && group.tone ? resolveDiagramToneFill(group.tone) : DIAGRAM_BG;\n const texture = group.texture ?? (hasFill ? 'dots' : 'none');\n const texturePattern = hasFill ? textureFill(texture, ids) : null;\n const [firstLabel] = label;\n return (\n <motion.g style={{ opacity }}>\n <rect\n data-diagram-group={group.id}\n data-diagram-group-tone={group.tone}\n x={box.x}\n y={box.y}\n width={box.w}\n height={box.h}\n rx={GROUP_RADIUS}\n fill={hasFill ? surfaceFill : 'none'}\n stroke={hasFrame ? stroke : 'none'}\n strokeWidth={hasFrame ? 1 : 0}\n strokeDasharray={dasharray}\n />\n {texturePattern && (\n <rect\n data-diagram-group-texture={`${group.id}:${texture}`}\n x={box.x}\n y={box.y}\n width={box.w}\n height={box.h}\n rx={GROUP_RADIUS}\n fill={texturePattern}\n pointerEvents=\"none\"\n />\n )}\n {band && (\n <rect\n data-diagram-group-title-band={group.id}\n x={band.x}\n y={band.y}\n width={band.w}\n height={band.h}\n fill={hasFill ? surfaceFill : DIAGRAM_BG}\n pointerEvents=\"none\"\n />\n )}\n {separator && (\n <line\n data-diagram-group-title-separator={group.id}\n x1={separator[0].x}\n y1={separator[0].y}\n x2={separator[1].x}\n y2={separator[1].y}\n stroke={stroke}\n strokeWidth={1}\n strokeDasharray={dasharray}\n />\n )}\n {layout.dividers.map(([from, to], i) => (\n <line\n key={i}\n x1={from.x}\n y1={from.y}\n x2={to.x}\n y2={to.y}\n stroke={group.accent ? themeAccent : DIAGRAM_NEUTRAL}\n strokeWidth={1}\n strokeDasharray={dasharray}\n data-diagram-group-divider={`${group.id}:${i}`}\n />\n ))}\n {firstLabel && (\n <text\n data-diagram-group-label={group.id}\n x={firstLabel.x}\n y={firstLabel.y}\n textAnchor={firstLabel.anchor}\n fontFamily={FONT_FAMILY[firstLabel.font.face]}\n fontSize={firstLabel.font.size}\n fontWeight={firstLabel.font.weight}\n fill={DIAGRAM_TEXT}\n >\n <RunSpans runs={label} />\n </text>\n )}\n <PortMarkers\n ownerId={group.id}\n ports={layout.ports}\n declared={group.ports}\n />\n </motion.g>\n );\n}\n\nexport function EdgeStroke({\n d,\n edge,\n progress,\n start,\n end,\n}: {\n d: string;\n edge: DiagramEdge;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent, ids } = useDiagramTheme();\n const stroke = edgeStroke(edge, themeAccent);\n const markerId = edgeMarkerId(edge, ids);\n const direction = edge.headless ? 'none' : (edge.direction ?? 'forward');\n const markerUrl = `url(#${markerId})`;\n const strokeWidth = EDGE_STROKE_WIDTH[edge.weight ?? 'regular'];\n const dasharray = edgeDasharray(edge);\n\n const drawEnd = start + (end - start) * 0.85;\n const pathLength = useTransform(progress, [start, drawEnd], [0, 1], {\n clamp: true,\n });\n const pathOpacity = useTransform(progress, [start, start + 0.001], [0, 1], {\n clamp: true,\n });\n\n return (\n <motion.path\n data-diagram-edge={`${edge.from}->${edge.to}`}\n data-diagram-edge-channel={edge.channel}\n data-diagram-edge-line-style={edge.lineStyle}\n data-diagram-edge-direction={direction}\n data-diagram-edge-layer={edge.layer ?? 'foreground'}\n d={d}\n fill=\"none\"\n stroke={stroke}\n strokeWidth={strokeWidth}\n strokeDasharray={dasharray}\n strokeLinejoin=\"round\"\n strokeLinecap=\"round\"\n markerStart={direction === 'both' ? markerUrl : undefined}\n markerEnd={\n direction === 'forward' || direction === 'both' ? markerUrl : undefined\n }\n style={\n dasharray\n ? { opacity: pathOpacity }\n : { pathLength, opacity: pathOpacity }\n }\n />\n );\n}\n\nexport function EdgeOverlay({\n layout,\n progress,\n start,\n end,\n}: {\n layout: EdgeLayout;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent } = useDiagramTheme();\n const { edge, label, badge } = layout;\n const labelFill = edgeLabelFill(edge, themeAccent);\n const drawEnd = start + (end - start) * 0.85;\n const labelOpacity = useTransform(progress, [drawEnd, end], [0, 1], {\n clamp: true,\n });\n\n return (\n <>\n {label && (\n <EdgeLabel\n edge={edge}\n label={label}\n fill={labelFill}\n opacity={labelOpacity}\n />\n )}\n {badge && (\n <EdgeBadge\n edge={edge}\n badge={badge}\n fill={labelFill}\n opacity={labelOpacity}\n />\n )}\n </>\n );\n}\n\nfunction EdgeLabel({\n edge,\n label,\n fill,\n opacity,\n}: {\n edge: DiagramEdge;\n label: NonNullable<EdgeLayout['label']>;\n fill: string;\n opacity: MotionValue<number>;\n}) {\n const { box } = label;\n const [first] = label.text;\n if (!first) return null;\n\n return (\n <motion.g style={{ opacity }}>\n {edge.labelFrame && (\n <rect\n data-diagram-edge-label-frame={`${edge.from}->${edge.to}`}\n x={box.x}\n y={box.y}\n width={box.w}\n height={box.h}\n rx={box.h / 2}\n fill={DIAGRAM_BG}\n stroke={fill}\n strokeWidth={0.75}\n />\n )}\n <text\n data-diagram-edge-label={`${edge.from}->${edge.to}`}\n x={first.x}\n y={first.y}\n textAnchor={first.anchor}\n fontFamily={FONT_FAMILY[first.font.face]}\n fontSize={first.font.size}\n fill={fill}\n >\n <RunSpans runs={label.text} />\n </text>\n </motion.g>\n );\n}\n\nfunction EdgeBadge({\n edge,\n badge,\n fill,\n opacity,\n}: {\n edge: DiagramEdge;\n badge: NonNullable<EdgeLayout['badge']>;\n fill: string;\n opacity: MotionValue<number>;\n}) {\n const { box, icon, text } = badge;\n const [first] = text;\n\n return (\n <motion.g\n data-diagram-edge-badge={`${edge.from}->${edge.to}`}\n style={{ opacity }}\n >\n <rect\n x={box.x}\n y={box.y}\n width={box.w}\n height={box.h}\n rx={10}\n fill={DIAGRAM_BG}\n stroke={fill}\n strokeWidth={1}\n />\n {edge.badgeIcon && icon && (\n <DiagramNodeIcon\n icon={edge.badgeIcon}\n x={icon.x}\n y={icon.y}\n size={icon.w}\n color={fill}\n />\n )}\n {first && (\n <text\n x={first.x}\n y={first.y}\n textAnchor={first.anchor}\n fontFamily={FONT_FAMILY[first.font.face]}\n fontSize={first.font.size}\n fontWeight={first.font.weight}\n fill={fill}\n >\n <RunSpans runs={text} />\n </text>\n )}\n </motion.g>\n );\n}\n\nexport function PortMarkers({\n ownerId,\n ports,\n declared,\n}: {\n ownerId: string;\n ports: PortLayout[];\n declared: DiagramNodePort[] | undefined;\n}) {\n const { accent: themeAccent } = useDiagramTheme();\n if (ports.length === 0) return null;\n return (\n <>\n {ports.map((port) => {\n const accent = declared?.find(({ id }) => id === port.id)?.accent;\n const stroke = accent ? themeAccent : DIAGRAM_NEUTRAL;\n const fill = accent ? themeAccent : DIAGRAM_BG;\n return (\n <g\n key={port.id}\n data-diagram-port={`${ownerId}:${port.id}`}\n data-diagram-port-side={port.side}\n >\n <circle\n cx={port.point.x}\n cy={port.point.y}\n r={4}\n fill={fill}\n stroke={stroke}\n strokeWidth={1.5}\n />\n {port.label && (\n <text\n x={port.label.x}\n y={port.label.y}\n textAnchor={port.label.anchor}\n fontFamily={FONT_FAMILY[port.label.font.face]}\n fontSize={port.label.font.size}\n fontWeight={port.label.font.weight}\n fill={stroke}\n >\n {port.label.text}\n </text>\n )}\n </g>\n );\n })}\n </>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type MotionValue } from 'motion/react';
|
|
2
2
|
import type { LeaderLayout, NodeLayout } from '../../layouts/graph/graph-layout-result.ts';
|
|
3
|
-
import type {
|
|
4
|
-
export declare const
|
|
3
|
+
import type { DiagramNode } from '../../model/diagram-ir.ts';
|
|
4
|
+
export declare const NOTE_REVEAL_START = 0.85;
|
|
5
5
|
export declare function isSpecialNode(node: DiagramNode): boolean;
|
|
6
|
-
/** Splits the
|
|
6
|
+
/** Splits the framed nodes from the notes, which draw last, over the edges. */
|
|
7
7
|
export declare function splitNotes(nodes: NodeLayout[]): {
|
|
8
8
|
graphNodes: NodeLayout[];
|
|
9
9
|
notes: NodeLayout[];
|
|
@@ -26,12 +26,11 @@ export declare function NodePorts({ layout }: {
|
|
|
26
26
|
export declare function NodeCaption({ layout }: {
|
|
27
27
|
layout: NodeLayout;
|
|
28
28
|
}): import("react").JSX.Element | null;
|
|
29
|
-
export declare function
|
|
29
|
+
export declare function NoteText({ note, leaders, progress, start, end, }: {
|
|
30
30
|
note: NodeLayout;
|
|
31
|
-
annotations: DiagramAnnotation[];
|
|
32
31
|
leaders: LeaderLayout[];
|
|
33
32
|
progress: MotionValue<number>;
|
|
34
33
|
start: number;
|
|
35
34
|
end: number;
|
|
36
|
-
}): import("react").JSX.Element
|
|
35
|
+
}): import("react").JSX.Element;
|
|
37
36
|
//# sourceMappingURL=node-parts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-parts.d.ts","sourceRoot":"","sources":["../../../../src/lib/renderers/shared/node-parts.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAwB,MAAM,cAAc,CAAC;AAEtE,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EAEX,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"node-parts.d.ts","sourceRoot":"","sources":["../../../../src/lib/renderers/shared/node-parts.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAwB,MAAM,cAAc,CAAC;AAEtE,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EAEX,MAAM,4CAA4C,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,2BAA2B,CAAC;AAkB/E,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,WAE9C;AAMD,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE;;;EAK7C;AAmBD,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,QAAQ,EACR,KAAK,EACL,GAAG,GACJ,EAAE;IACD,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,sCAwPA;AAED,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,IAAI,EACJ,MAAM,EACN,WAAW,GACZ,EAAE;IACD,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB,iCAmBA;AAED,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,+BAQ3D;AAQD,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,sCA+B7D;AAED,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,KAAK,EACL,GAAG,GACJ,EAAE;IACD,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,+BAkCA"}
|