@zukhruf/diagram 0.3.30 → 0.3.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/lib/layouts/graph/areas.d.ts +27 -0
  2. package/dist/lib/layouts/graph/areas.d.ts.map +1 -0
  3. package/dist/lib/layouts/graph/areas.js +187 -0
  4. package/dist/lib/layouts/graph/areas.js.map +1 -0
  5. package/dist/lib/layouts/graph/graph-layout-result.d.ts +95 -0
  6. package/dist/lib/layouts/graph/graph-layout-result.d.ts.map +1 -0
  7. package/dist/lib/layouts/graph/graph-layout-result.js +2 -0
  8. package/dist/lib/layouts/graph/graph-layout-result.js.map +1 -0
  9. package/dist/lib/layouts/graph/graph-layout.d.ts +2 -1
  10. package/dist/lib/layouts/graph/graph-layout.d.ts.map +1 -1
  11. package/dist/lib/layouts/graph/graph-layout.js +5 -3
  12. package/dist/lib/layouts/graph/graph-layout.js.map +1 -1
  13. package/dist/lib/layouts/graph/gutters.d.ts +26 -0
  14. package/dist/lib/layouts/graph/gutters.d.ts.map +1 -0
  15. package/dist/lib/layouts/graph/gutters.js +123 -0
  16. package/dist/lib/layouts/graph/gutters.js.map +1 -0
  17. package/dist/lib/layouts/graph/layout.d.ts +10 -0
  18. package/dist/lib/layouts/graph/layout.d.ts.map +1 -0
  19. package/dist/lib/layouts/graph/layout.js +165 -0
  20. package/dist/lib/layouts/graph/layout.js.map +1 -0
  21. package/dist/lib/layouts/graph/legacy-graph-layout.d.ts +6 -0
  22. package/dist/lib/layouts/graph/legacy-graph-layout.d.ts.map +1 -0
  23. package/dist/lib/layouts/graph/legacy-graph-layout.js +542 -0
  24. package/dist/lib/layouts/graph/legacy-graph-layout.js.map +1 -0
  25. package/dist/lib/layouts/graph/measure.d.ts +44 -0
  26. package/dist/lib/layouts/graph/measure.d.ts.map +1 -0
  27. package/dist/lib/layouts/graph/measure.js +372 -0
  28. package/dist/lib/layouts/graph/measure.js.map +1 -0
  29. package/dist/lib/layouts/graph/node-content.d.ts +16 -0
  30. package/dist/lib/layouts/graph/node-content.d.ts.map +1 -0
  31. package/dist/lib/layouts/graph/node-content.js +323 -0
  32. package/dist/lib/layouts/graph/node-content.js.map +1 -0
  33. package/dist/lib/layouts/graph/text-block.d.ts +19 -0
  34. package/dist/lib/layouts/graph/text-block.d.ts.map +1 -0
  35. package/dist/lib/layouts/graph/text-block.js +86 -0
  36. package/dist/lib/layouts/graph/text-block.js.map +1 -0
  37. package/dist/lib/layouts/graph/tokens.d.ts +58 -0
  38. package/dist/lib/layouts/graph/tokens.d.ts.map +1 -0
  39. package/dist/lib/layouts/graph/tokens.js +108 -0
  40. package/dist/lib/layouts/graph/tokens.js.map +1 -0
  41. package/dist/lib/layouts/graph/tracks.d.ts +20 -0
  42. package/dist/lib/layouts/graph/tracks.d.ts.map +1 -0
  43. package/dist/lib/layouts/graph/tracks.js +47 -0
  44. package/dist/lib/layouts/graph/tracks.js.map +1 -0
  45. package/dist/lib/layouts/text/font-metrics.generated.d.ts +18 -0
  46. package/dist/lib/layouts/text/font-metrics.generated.d.ts.map +1 -0
  47. package/dist/lib/layouts/text/font-metrics.generated.js +1043 -0
  48. package/dist/lib/layouts/text/font-metrics.generated.js.map +1 -0
  49. package/dist/lib/layouts/text/font.d.ts +14 -0
  50. package/dist/lib/layouts/text/font.d.ts.map +1 -0
  51. package/dist/lib/layouts/text/font.js +11 -0
  52. package/dist/lib/layouts/text/font.js.map +1 -0
  53. package/dist/lib/layouts/text/measure-text.d.ts +13 -0
  54. package/dist/lib/layouts/text/measure-text.d.ts.map +1 -0
  55. package/dist/lib/layouts/text/measure-text.js +67 -0
  56. package/dist/lib/layouts/text/measure-text.js.map +1 -0
  57. package/dist/lib/model/diagram-ir.d.ts +14 -1
  58. package/dist/lib/model/diagram-ir.d.ts.map +1 -1
  59. package/dist/lib/model/diagram-ir.js.map +1 -1
  60. package/dist/lib/renderers/canvas/graph-canvas.d.ts.map +1 -1
  61. package/dist/lib/renderers/canvas/graph-canvas.js +148 -138
  62. package/dist/lib/renderers/canvas/graph-canvas.js.map +1 -1
  63. package/dist/lib/renderers/html/graph-html.d.ts.map +1 -1
  64. package/dist/lib/renderers/html/graph-html.js +462 -511
  65. package/dist/lib/renderers/html/graph-html.js.map +1 -1
  66. package/dist/lib/renderers/shared/graph-parts.d.ts +15 -13
  67. package/dist/lib/renderers/shared/graph-parts.d.ts.map +1 -1
  68. package/dist/lib/renderers/shared/graph-parts.js +649 -644
  69. package/dist/lib/renderers/shared/graph-parts.js.map +1 -1
  70. package/dist/lib/renderers/shared/node-parts.d.ts +20 -19
  71. package/dist/lib/renderers/shared/node-parts.d.ts.map +1 -1
  72. package/dist/lib/renderers/shared/node-parts.js +678 -811
  73. package/dist/lib/renderers/shared/node-parts.js.map +1 -1
  74. package/dist/lib/renderers/shared/run-spans.d.ts +8 -0
  75. package/dist/lib/renderers/shared/run-spans.d.ts.map +1 -0
  76. package/dist/lib/renderers/shared/run-spans.js +18 -0
  77. package/dist/lib/renderers/shared/run-spans.js.map +1 -0
  78. package/dist/lib/renderers/shared/text-runs.d.ts +21 -0
  79. package/dist/lib/renderers/shared/text-runs.d.ts.map +1 -0
  80. package/dist/lib/renderers/shared/text-runs.js +44 -0
  81. package/dist/lib/renderers/shared/text-runs.js.map +1 -0
  82. package/dist/lib/renderers/svg/graph-svg.d.ts.map +1 -1
  83. package/dist/lib/renderers/svg/graph-svg.js +304 -465
  84. package/dist/lib/renderers/svg/graph-svg.js.map +1 -1
  85. package/dist/lib/renderers/svg/timeline-svg.d.ts.map +1 -1
  86. package/dist/lib/renderers/svg/timeline-svg.js +10 -5
  87. package/dist/lib/renderers/svg/timeline-svg.js.map +1 -1
  88. package/dist/lib/renderers/webgpu/graph-flow-effects.d.ts +2 -2
  89. package/dist/lib/renderers/webgpu/graph-flow-effects.d.ts.map +1 -1
  90. package/dist/lib/renderers/webgpu/graph-flow-effects.js.map +1 -1
  91. package/package.json +3 -1
  92. package/styles.css +8 -0
@@ -1 +1 @@
1
- {"version":3,"file":"graph-html.js","names":["motion","useTransform","compileGraph","validateGraph","computePaths","graphContentViewBox","groupBox","groupDividerLines","nodeBox","nodeFrameRadius","nodeFrameStrokeWidth","nodeStackCount","resolveGraphAnnotations","resolveGraphLayout","DIAGRAM_DOT","DIAGRAM_HATCH","DiagramFrame","useDiagramTheme","DiagramDefs","DiagramNodeIcon","EdgeOverlay","EdgeStroke","GroupRect","buildSegments","labelLineFill","nodeFrameFill","nodeFrameStroke","nodeTextFill","nodeTexture","ANNOTATION_REVEAL_START","AnnotationText","NodeCaption","NodePorts","NodeStackFrames","SpecialNode","isSpecialNode","DiagramPaperRect","formatZoom","normalizeZoom","jsx","_jsx","jsxs","_jsxs","MONO","SANS","HtmlGraphDiagram","t0","$","_c","children","chrome","graph","paper","title","viewport","t1","ir","t2","flat","lines","t3","zoom","t4","t5","progress","GraphHTML","t6","stylePreset","t10","t11","t12","t13","t14","t15","t7","t8","t9","layout","segments","nodes","length","edges","seg","kind","t16","index","undefined","segment","find","candidate","Error","groupsSeg","routedEdges","indexedEdges","map","routedEdge","index_0","layer","edge","filter","_temp","viewBox","node","i","box","_temp2","boxNodes","_temp3","annotations","svgLayer","className","width","w","height","h","x","y","join","t17","Symbol","for","t18","t19","d","d_0","index_1","segment_0","start","end","t20","node_2","segment_1","id","NodeStack","groups","group","dividers","_temp4","node_3","box_0","segment_2","NodeBox","t21","t22","node_4","box_1","segment_3","NodeReveal","t23","d_1","edge_0","index_2","segment_4","_temp5","t24","edge_1","labelPlacement","badgePlacement","index_3","segment_5","annotation","i_0","style","role","layer_0","node_1","node_0","hidden","Boolean","clamp","opacity","translateY","g","accent","themeAccent","frame","rx","fill","stroke","strokeWidth","textureImage","texture","backgroundImage","backgroundSize","origin","label","Array","isArray","T0","itemLines","descriptionLines","description","items","startAligned","textAlign","icon","iconSize","div","tone","backgroundColor","border","left","top","boxSizing","borderRadius","color","textColor","NodeLabel","fontFamily","fontSize","bodyFontSize","lineHeight","item","content","defaultWeight","Math","max","letterSpacing","fontWeight","line","text"],"sources":["../../../../src/lib/renderers/html/graph-html.tsx"],"sourcesContent":["import { type MotionValue, motion, useTransform } from 'motion/react';\nimport type { CSSProperties, ReactNode } from 'react';\n\nimport { compileGraph, validateGraph } from '../../compiler/diagram-compile.ts';\nimport {\n type RoutedEdge,\n computePaths,\n graphContentViewBox,\n groupBox,\n groupDividerLines,\n nodeBox,\n nodeFrameRadius,\n nodeFrameStrokeWidth,\n nodeStackCount,\n resolveGraphAnnotations,\n resolveGraphLayout,\n} from '../../layouts/graph/graph-layout.ts';\nimport type {\n Box,\n DiagramGraphLayout,\n DiagramLabelLine,\n DiagramNode,\n DiagramTexture,\n DiagramViewport,\n} from '../../model/diagram-ir.ts';\nimport {\n DIAGRAM_DOT,\n DIAGRAM_HATCH,\n DiagramFrame,\n useDiagramTheme,\n} from '../../react/chrome/index.ts';\nimport type { DiagramProps } from '../../react/diagram-types.ts';\nimport { DiagramDefs } from '../shared/defs.tsx';\nimport {\n DiagramNodeIcon,\n EdgeOverlay,\n EdgeStroke,\n GroupRect,\n type SegmentKind,\n buildSegments,\n labelLineFill,\n nodeFrameFill,\n nodeFrameStroke,\n nodeTextFill,\n nodeTexture,\n} from '../shared/graph-parts.tsx';\nimport {\n ANNOTATION_REVEAL_START,\n AnnotationText,\n NodeCaption,\n NodePorts,\n NodeStackFrames,\n SpecialNode,\n isSpecialNode,\n} from '../shared/node-parts.tsx';\nimport { DiagramPaperRect } from '../shared/paper.tsx';\nimport { formatZoom, normalizeZoom } from '../shared/viewport-zoom.ts';\nimport type { GraphRendererProps } from '../types.ts';\n\nconst MONO = \"ui-monospace, 'Geist Mono', monospace\";\nconst SANS = 'ui-sans-serif, system-ui, sans-serif';\n\nexport type HtmlGraphDiagramProps = Omit<DiagramProps, 'viewport'> & {\n graph?: DiagramGraphLayout;\n viewport?: Omit<DiagramViewport, 'fit'>;\n};\n\nexport function HtmlGraphDiagram({\n title,\n children,\n graph,\n viewport,\n paper,\n ...chrome\n}: HtmlGraphDiagramProps) {\n const ir = compileGraph(children, graph);\n const lines = [title].flat();\n const zoom = normalizeZoom(viewport?.zoom);\n return (\n <DiagramFrame title={lines} {...chrome}>\n {(progress) => (\n <GraphHTML\n ir={ir}\n title={lines}\n progress={progress}\n zoom={zoom}\n paper={paper}\n />\n )}\n </DiagramFrame>\n );\n}\n\nfunction GraphHTML({\n ir,\n title,\n progress,\n zoom,\n paper,\n}: Omit<GraphRendererProps, 'viewport'> & { zoom: number }) {\n const { stylePreset } = useDiagramTheme();\n validateGraph(ir);\n const graph = resolveGraphLayout(ir);\n const layout = graph.layout;\n const segments = buildSegments(graph.nodes.length, graph.edges.length);\n const seg = (kind: SegmentKind, index = 0) => {\n const segment = segments.find(\n (candidate) => candidate.kind === kind && candidate.index === index,\n );\n if (!segment) throw new Error(`segment ${kind}[${index}] missing`);\n return segment;\n };\n const groupsSeg = seg('groups');\n const routedEdges: RoutedEdge[] = computePaths(graph);\n const indexedEdges = routedEdges\n .map((routedEdge, index) => ({\n ...routedEdge,\n index,\n segment: seg('edge', index),\n layer: routedEdge.edge.layer ?? 'foreground',\n }))\n .filter(({ d }) => Boolean(d));\n const viewBox = graphContentViewBox(graph, routedEdges);\n const nodes = graph.nodes\n .map((node, i) => ({\n node,\n box: nodeBox(node, layout),\n segment: seg('node', i),\n }))\n .filter(({ node }) => !node.hidden);\n const boxNodes = nodes.filter(({ node }) => !isSpecialNode(node));\n const annotations = resolveGraphAnnotations(graph);\n const svgLayer = {\n className: 'pointer-events-none absolute inset-0 overflow-visible',\n width: viewBox.w,\n height: viewBox.h,\n viewBox: `${viewBox.x} ${viewBox.y} ${viewBox.w} ${viewBox.h}`,\n 'aria-hidden': true,\n } as const;\n\n return (\n <div\n role=\"group\"\n aria-label={title.join(' ')}\n className=\"w-full overflow-x-auto\"\n data-diagram-style-preset={stylePreset}\n data-diagram-viewport-zoom={formatZoom(zoom)}\n >\n <div\n className=\"relative mx-auto\"\n style={{ width: viewBox.w, height: viewBox.h, zoom }}\n data-diagram-html=\"graph\"\n >\n <svg {...svgLayer}>\n <DiagramDefs />\n <DiagramPaperRect\n kind=\"graph\"\n paper={paper}\n x={viewBox.x}\n y={viewBox.y}\n width={viewBox.w}\n height={viewBox.h}\n />\n {graph.groups?.map((group) => (\n <GroupRect\n key={`group-${group.id}`}\n group={group}\n box={groupBox(group, graph.nodes, layout, graph.groups)}\n dividers={groupDividerLines(\n group,\n graph.nodes,\n layout,\n graph.groups,\n )}\n progress={progress}\n start={groupsSeg.start}\n end={groupsSeg.end}\n />\n ))}\n {indexedEdges\n .filter(({ layer }) => layer === 'background')\n .map(({ d, edge, index, segment }) => (\n <EdgeStroke\n key={`edge-background-${index}`}\n d={d}\n edge={edge}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ))}\n {nodes.map(({ node, box, segment }) =>\n isSpecialNode(node) ? (\n <SpecialNode\n key={`node-${node.id}`}\n node={node}\n box={box}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ) : (\n <NodeStack\n key={`stack-${node.id}`}\n node={node}\n box={box}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ),\n )}\n </svg>\n {boxNodes.map(({ node, box, segment }) => (\n <NodeBox\n key={`node-${node.id}`}\n node={node}\n box={box}\n origin={viewBox}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ))}\n <svg {...svgLayer}>\n {boxNodes.map(({ node, box, segment }) => (\n <NodeReveal\n key={`node-marks-${node.id}`}\n progress={progress}\n start={segment.start}\n end={segment.end}\n >\n <NodePorts node={node} box={box} />\n <NodeCaption node={node} box={box} />\n </NodeReveal>\n ))}\n {indexedEdges\n .filter(({ layer }) => layer === 'foreground')\n .map(({ d, edge, index, segment }) => (\n <EdgeStroke\n key={`edge-foreground-${index}`}\n d={d}\n edge={edge}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ))}\n {indexedEdges.map(\n ({ edge, labelPlacement, badgePlacement, index, segment }) => (\n <EdgeOverlay\n key={`edge-overlay-${index}`}\n edge={edge}\n labelPlacement={labelPlacement}\n badgePlacement={badgePlacement}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ),\n )}\n {annotations.map((annotation, i) => (\n <AnnotationText\n key={`annot-${i}`}\n annotation={annotation}\n progress={progress}\n start={ANNOTATION_REVEAL_START}\n end={1}\n index={i}\n />\n ))}\n </svg>\n </div>\n </div>\n );\n}\n\nfunction NodeReveal({\n progress,\n start,\n end,\n children,\n}: {\n progress: MotionValue<number>;\n start: number;\n end: number;\n children: ReactNode;\n}) {\n const opacity = useTransform(progress, [start, end], [0, 1], { clamp: true });\n const translateY = useTransform(progress, [start, end], [-10, 0], {\n clamp: true,\n });\n return <motion.g style={{ opacity, y: translateY }}>{children}</motion.g>;\n}\n\nfunction NodeStack({\n node,\n box,\n progress,\n start,\n end,\n}: {\n node: DiagramNode;\n box: Box;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent } = useDiagramTheme();\n const frame = node.frame ?? 'solid';\n if (frame === 'none' || nodeStackCount(node) < 2) return null;\n return (\n <NodeReveal progress={progress} start={start} end={end}>\n <NodeStackFrames\n node={node}\n box={box}\n rx={nodeFrameRadius(node)}\n fill={nodeFrameFill(node, frame)}\n stroke={nodeFrameStroke(node, frame, themeAccent)}\n strokeWidth={nodeFrameStrokeWidth(node)}\n />\n </NodeReveal>\n );\n}\n\nfunction textureImage(\n texture: DiagramTexture,\n): Pick<CSSProperties, 'backgroundImage' | 'backgroundSize'> {\n if (texture === 'dots') {\n return {\n backgroundImage: `radial-gradient(circle at 2px 2px, ${DIAGRAM_DOT} 0.7px, transparent 0.8px)`,\n backgroundSize: '6px 6px',\n };\n }\n if (texture === 'hatch') {\n return {\n backgroundImage: `repeating-linear-gradient(135deg, ${DIAGRAM_HATCH} 0 0.8px, transparent 0.8px 5.66px)`,\n };\n }\n return {};\n}\n\nfunction NodeBox({\n node,\n box,\n origin,\n progress,\n start,\n end,\n}: {\n node: DiagramNode;\n box: Box;\n origin: Box;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent } = useDiagramTheme();\n const opacity = useTransform(progress, [start, end], [0, 1], { clamp: true });\n const translateY = useTransform(progress, [start, end], [-10, 0], {\n clamp: true,\n });\n const frame = node.frame ?? 'solid';\n const fill = nodeTextFill(node, frame, themeAccent);\n const lines = Array.isArray(node.label) ? node.label : [node.label];\n const descriptionLines = [node.description ?? []].flat();\n const itemLines = node.items ?? [];\n const startAligned =\n (node.textAlign ?? 'center') === 'start' ||\n Boolean(node.icon) ||\n descriptionLines.length > 0;\n const iconSize = node.iconSize ?? 42;\n\n return (\n <motion.div\n data-diagram-node={node.id}\n data-diagram-node-tone={node.tone}\n className={\n startAligned\n ? 'absolute flex items-start gap-[22px] px-7 py-6'\n : 'absolute flex flex-col items-center justify-center gap-2 px-3 text-center'\n }\n style={{\n left: box.x - origin.x,\n top: box.y - origin.y,\n width: box.w,\n height: box.h,\n boxSizing: 'border-box',\n borderRadius: nodeFrameRadius(node),\n ...(frame === 'none'\n ? {}\n : {\n backgroundColor: nodeFrameFill(node, frame),\n border: `${nodeFrameStrokeWidth(node)}px solid ${nodeFrameStroke(node, frame, themeAccent)}`,\n ...textureImage(nodeTexture(node, frame)),\n }),\n color: fill,\n opacity,\n y: translateY,\n }}\n >\n {node.icon && (\n <svg\n width={iconSize}\n height={iconSize}\n className=\"shrink-0\"\n aria-hidden\n >\n <DiagramNodeIcon\n icon={node.icon}\n x={0}\n y={0}\n size={iconSize}\n color={node.textColor === 'accent' ? themeAccent : fill}\n />\n </svg>\n )}\n <div\n className={startAligned ? 'flex min-w-0 flex-col gap-2' : 'contents'}\n >\n <NodeLabel\n node={node}\n lines={lines}\n fill={fill}\n themeAccent={themeAccent}\n startAligned={startAligned}\n />\n {descriptionLines.length > 0 && (\n <p\n data-diagram-node-description={node.id}\n className=\"text-pretty\"\n style={{\n fontFamily: SANS,\n fontSize: node.bodyFontSize ?? 13,\n lineHeight: 1.35,\n }}\n >\n {descriptionLines.join(' ')}\n </p>\n )}\n {itemLines.length > 0 && (\n <ul\n className=\"flex list-disc flex-col gap-1 pl-4\"\n style={{ fontFamily: SANS, fontSize: node.bodyFontSize ?? 13 }}\n >\n {itemLines.map((item, i) => (\n <li key={i} data-diagram-node-item={`${node.id}:${i}`}>\n {item}\n </li>\n ))}\n </ul>\n )}\n {node.content !== undefined && (\n <div data-diagram-node-content={node.id}>{node.content}</div>\n )}\n </div>\n </motion.div>\n );\n}\n\nfunction NodeLabel({\n node,\n lines,\n fill,\n themeAccent,\n startAligned,\n}: {\n node: DiagramNode;\n lines: DiagramLabelLine[];\n fill: string;\n themeAccent: string;\n startAligned: boolean;\n}) {\n const fontSize = node.fontSize ?? (startAligned ? 15 : 12);\n const defaultWeight = startAligned ? 700 : 500;\n return (\n <div\n className=\"text-balance\"\n style={{\n fontFamily: startAligned ? SANS : MONO,\n fontSize,\n lineHeight: `${startAligned ? fontSize + 4 : Math.max(12, fontSize + 2)}px`,\n letterSpacing: startAligned ? undefined : 0.6,\n }}\n >\n {lines.map((line, i) => (\n <div\n key={i}\n style={{\n color: labelLineFill(line, fill, themeAccent),\n fontWeight:\n typeof line === 'string'\n ? (node.fontWeight ?? defaultWeight)\n : (line.fontWeight ?? node.fontWeight ?? defaultWeight),\n }}\n >\n {typeof line === 'string' ? line : line.text}\n </div>\n ))}\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"graph-html.js","names":["motion","useTransform","compileGraph","legacyGraphLayout","FONT_FAMILY","TEXT_SHAPING","DIAGRAM_DOT","DIAGRAM_HATCH","DiagramFrame","useDiagramTheme","DiagramDefs","DiagramNodeIcon","EdgeOverlay","EdgeStroke","GroupRect","buildSegments","nodeFrameFill","nodeFrameStroke","nodeFrameStrokeWidth","nodeTextFill","nodeTexture","ANNOTATION_REVEAL_START","AnnotationText","NodeCaption","NodePorts","NodeStackFrames","SpecialNode","isSpecialNode","splitNotes","DiagramPaperRect","nodeTextParts","runFill","formatZoom","normalizeZoom","jsx","_jsx","jsxs","_jsxs","HtmlGraphDiagram","t0","$","_c","children","chrome","graph","paper","title","viewport","t1","ir","t2","flat","lines","t3","zoom","t4","t5","progress","GraphHTML","t6","stylePreset","t10","t11","t12","t13","t14","t15","t16","t7","t8","t9","layout","viewBox","segments","nodes","length","edges","seg","kind","t17","index","undefined","segment","find","candidate","Error","groupsSeg","indexedEdges","map","edgeLayout","index_0","layer","edge","filter","_temp","graphNodes","notes","nodeLayout","i","_temp2","boxNodes","_temp3","svgLayer","className","width","w","height","h","x","y","join","t18","Symbol","for","t19","t20","d","d_0","index_1","segment_0","start","end","t21","nodeLayout_0","segment_1","node","id","NodeStack","groups","groupLayout","group","_temp4","nodeLayout_1","segment_2","NodeBox","t22","t23","nodeLayout_2","segment_3","NodeReveal","t24","d_1","edge_0","index_2","segment_4","_temp5","edgeLayout_0","note","annotations","leaders","style","role","layer_0","node_0","hidden","Boolean","clamp","opacity","translateY","g","accent","themeAccent","frame","frames","fill","stroke","strokeWidth","textureImage","texture","backgroundImage","backgroundSize","origin","box","icon","text","T0","lastRun","description","items","at","div","tone","backgroundColor","boxShadow","radius","left","top","boxSizing","borderRadius","color","textColor","size","run","RunText","run_0","i_0","i_1","run_1","bullet","content","bounds","font","face","weight","fontFamily","fontSize","fontWeight","lineHeight","letterSpacing"],"sources":["../../../../src/lib/renderers/html/graph-html.tsx"],"sourcesContent":["import { type MotionValue, motion, useTransform } from 'motion/react';\nimport type { CSSProperties, ReactNode } from 'react';\n\nimport { compileGraph } from '../../compiler/diagram-compile.ts';\nimport type {\n NodeLayout,\n TextRun,\n} from '../../layouts/graph/graph-layout-result.ts';\nimport { legacyGraphLayout } from '../../layouts/graph/legacy-graph-layout.ts';\nimport { FONT_FAMILY, TEXT_SHAPING } from '../../layouts/text/font.ts';\nimport type {\n Box,\n DiagramGraphLayout,\n DiagramTexture,\n DiagramViewport,\n} from '../../model/diagram-ir.ts';\nimport {\n DIAGRAM_DOT,\n DIAGRAM_HATCH,\n DiagramFrame,\n useDiagramTheme,\n} from '../../react/chrome/index.ts';\nimport type { DiagramProps } from '../../react/diagram-types.ts';\nimport { DiagramDefs } from '../shared/defs.tsx';\nimport {\n DiagramNodeIcon,\n EdgeOverlay,\n EdgeStroke,\n GroupRect,\n type SegmentKind,\n buildSegments,\n nodeFrameFill,\n nodeFrameStroke,\n nodeFrameStrokeWidth,\n nodeTextFill,\n nodeTexture,\n} from '../shared/graph-parts.tsx';\nimport {\n ANNOTATION_REVEAL_START,\n AnnotationText,\n NodeCaption,\n NodePorts,\n NodeStackFrames,\n SpecialNode,\n isSpecialNode,\n splitNotes,\n} from '../shared/node-parts.tsx';\nimport { DiagramPaperRect } from '../shared/paper.tsx';\nimport { nodeTextParts, runFill } from '../shared/text-runs.ts';\nimport { formatZoom, normalizeZoom } from '../shared/viewport-zoom.ts';\nimport type { GraphRendererProps } from '../types.ts';\n\nexport type HtmlGraphDiagramProps = Omit<DiagramProps, 'viewport'> & {\n graph?: DiagramGraphLayout;\n viewport?: Omit<DiagramViewport, 'fit'>;\n};\n\nexport function HtmlGraphDiagram({\n title,\n children,\n graph,\n viewport,\n paper,\n ...chrome\n}: HtmlGraphDiagramProps) {\n const ir = compileGraph(children, graph);\n const lines = [title].flat();\n const zoom = normalizeZoom(viewport?.zoom);\n return (\n <DiagramFrame title={lines} {...chrome}>\n {(progress) => (\n <GraphHTML\n ir={ir}\n title={lines}\n progress={progress}\n zoom={zoom}\n paper={paper}\n />\n )}\n </DiagramFrame>\n );\n}\n\nfunction GraphHTML({\n ir,\n title,\n progress,\n zoom,\n paper,\n}: Omit<GraphRendererProps, 'viewport'> & { zoom: number }) {\n const { stylePreset } = useDiagramTheme();\n const layout = legacyGraphLayout(ir);\n const { viewBox } = layout;\n const segments = buildSegments(ir.nodes.length, ir.edges.length);\n const seg = (kind: SegmentKind, index = 0) => {\n const segment = segments.find(\n (candidate) => candidate.kind === kind && candidate.index === index,\n );\n if (!segment) throw new Error(`segment ${kind}[${index}] missing`);\n return segment;\n };\n const groupsSeg = seg('groups');\n const indexedEdges = layout.edges\n .map((edgeLayout, index) => ({\n ...edgeLayout,\n index,\n segment: seg('edge', index),\n layer: edgeLayout.edge.layer ?? 'foreground',\n }))\n .filter(({ d }) => Boolean(d));\n const { graphNodes, notes } = splitNotes(layout.nodes);\n const nodes = graphNodes\n .map((nodeLayout, i) => ({ layout: nodeLayout, segment: seg('node', i) }))\n .filter(({ layout: { node } }) => !node.hidden);\n const boxNodes = nodes.filter(({ layout: { node } }) => !isSpecialNode(node));\n const svgLayer = {\n className: 'pointer-events-none absolute inset-0 overflow-visible',\n width: viewBox.w,\n height: viewBox.h,\n viewBox: `${viewBox.x} ${viewBox.y} ${viewBox.w} ${viewBox.h}`,\n 'aria-hidden': true,\n } as const;\n\n return (\n <div\n role=\"group\"\n aria-label={title.join(' ')}\n className=\"w-full overflow-x-auto\"\n style={TEXT_SHAPING}\n data-diagram-style-preset={stylePreset}\n data-diagram-viewport-zoom={formatZoom(zoom)}\n >\n <div\n className=\"relative mx-auto\"\n style={{ width: viewBox.w, height: viewBox.h, zoom }}\n data-diagram-html=\"graph\"\n >\n <svg {...svgLayer}>\n <DiagramDefs />\n <DiagramPaperRect\n kind=\"graph\"\n paper={paper}\n x={viewBox.x}\n y={viewBox.y}\n width={viewBox.w}\n height={viewBox.h}\n />\n {layout.groups.map((groupLayout) => (\n <GroupRect\n key={`group-${groupLayout.group.id}`}\n layout={groupLayout}\n progress={progress}\n start={groupsSeg.start}\n end={groupsSeg.end}\n />\n ))}\n {indexedEdges\n .filter(({ layer }) => layer === 'background')\n .map(({ d, edge, index, segment }) => (\n <EdgeStroke\n key={`edge-background-${index}`}\n d={d}\n edge={edge}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ))}\n {nodes.map(({ layout: nodeLayout, segment }) =>\n isSpecialNode(nodeLayout.node) ? (\n <SpecialNode\n key={`node-${nodeLayout.node.id}`}\n layout={nodeLayout}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ) : (\n <NodeStack\n key={`stack-${nodeLayout.node.id}`}\n layout={nodeLayout}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ),\n )}\n </svg>\n {boxNodes.map(({ layout: nodeLayout, segment }) => (\n <NodeBox\n key={`node-${nodeLayout.node.id}`}\n layout={nodeLayout}\n origin={viewBox}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ))}\n <svg {...svgLayer}>\n {boxNodes.map(({ layout: nodeLayout, segment }) => (\n <NodeReveal\n key={`node-marks-${nodeLayout.node.id}`}\n progress={progress}\n start={segment.start}\n end={segment.end}\n >\n <NodePorts layout={nodeLayout} />\n <NodeCaption layout={nodeLayout} />\n </NodeReveal>\n ))}\n {indexedEdges\n .filter(({ layer }) => layer === 'foreground')\n .map(({ d, edge, index, segment }) => (\n <EdgeStroke\n key={`edge-foreground-${index}`}\n d={d}\n edge={edge}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ))}\n {indexedEdges.map((edgeLayout) => (\n <EdgeOverlay\n key={`edge-overlay-${edgeLayout.index}`}\n layout={edgeLayout}\n progress={progress}\n start={edgeLayout.segment.start}\n end={edgeLayout.segment.end}\n />\n ))}\n {notes.map((note) => (\n <AnnotationText\n key={note.node.id}\n note={note}\n annotations={ir.annotations}\n leaders={layout.leaders}\n progress={progress}\n start={ANNOTATION_REVEAL_START}\n end={1}\n />\n ))}\n </svg>\n </div>\n </div>\n );\n}\n\nfunction NodeReveal({\n progress,\n start,\n end,\n children,\n}: {\n progress: MotionValue<number>;\n start: number;\n end: number;\n children: ReactNode;\n}) {\n const opacity = useTransform(progress, [start, end], [0, 1], { clamp: true });\n const translateY = useTransform(progress, [start, end], [-10, 0], {\n clamp: true,\n });\n return <motion.g style={{ opacity, y: translateY }}>{children}</motion.g>;\n}\n\nfunction NodeStack({\n layout,\n progress,\n start,\n end,\n}: {\n layout: NodeLayout;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent } = useDiagramTheme();\n const { node } = layout;\n const frame = node.frame ?? 'solid';\n if (layout.frames.length === 0) return null;\n return (\n <NodeReveal progress={progress} start={start} end={end}>\n <NodeStackFrames\n layout={layout}\n fill={nodeFrameFill(node, frame)}\n stroke={nodeFrameStroke(node, frame, themeAccent)}\n strokeWidth={nodeFrameStrokeWidth(node)}\n />\n </NodeReveal>\n );\n}\n\nfunction textureImage(\n texture: DiagramTexture,\n): Pick<CSSProperties, 'backgroundImage' | 'backgroundSize'> {\n if (texture === 'dots') {\n return {\n backgroundImage: `radial-gradient(circle at 2px 2px, ${DIAGRAM_DOT} 0.7px, transparent 0.8px)`,\n backgroundSize: '6px 6px',\n };\n }\n if (texture === 'hatch') {\n return {\n backgroundImage: `repeating-linear-gradient(135deg, ${DIAGRAM_HATCH} 0 0.8px, transparent 0.8px 5.66px)`,\n };\n }\n return {};\n}\n\n/**\n * A node frame with its text drawn as absolutely placed runs, at the positions\n * the SVG output draws them. The frame is an inset shadow, not a border, so the\n * runs share the frame's origin.\n */\nfunction NodeBox({\n layout,\n origin,\n progress,\n start,\n end,\n}: {\n layout: NodeLayout;\n origin: Box;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent } = useDiagramTheme();\n const opacity = useTransform(progress, [start, end], [0, 1], { clamp: true });\n const translateY = useTransform(progress, [start, end], [-10, 0], {\n clamp: true,\n });\n const { node, box, icon, text } = layout;\n const frame = node.frame ?? 'solid';\n const fill = nodeTextFill(node, frame, themeAccent);\n const { title, description, items } = nodeTextParts(layout);\n const lastRun = text.at(-1);\n\n return (\n <motion.div\n data-diagram-node={node.id}\n data-diagram-node-tone={node.tone}\n className=\"absolute\"\n style={{\n left: box.x - origin.x,\n top: box.y - origin.y,\n width: box.w,\n height: box.h,\n boxSizing: 'border-box',\n borderRadius: layout.radius,\n ...(frame === 'none'\n ? {}\n : {\n backgroundColor: nodeFrameFill(node, frame),\n boxShadow: `inset 0 0 0 ${nodeFrameStrokeWidth(node)}px ${nodeFrameStroke(node, frame, themeAccent)}`,\n ...textureImage(nodeTexture(node, frame)),\n }),\n color: fill,\n opacity,\n y: translateY,\n }}\n >\n {node.icon && icon && (\n <svg\n width={icon.size}\n height={icon.size}\n className=\"absolute\"\n style={{ left: icon.x - box.x, top: icon.y - box.y }}\n aria-hidden\n >\n <DiagramNodeIcon\n icon={node.icon}\n x={0}\n y={0}\n size={icon.size}\n color={node.textColor === 'accent' ? themeAccent : fill}\n />\n </svg>\n )}\n {title.map((run, i) => (\n <RunText\n key={i}\n run={run}\n origin={box}\n color={runFill(run, fill, themeAccent)}\n />\n ))}\n {description.length > 0 && (\n <div data-diagram-node-description={node.id}>\n {description.map((run, i) => (\n <RunText key={i} run={run} origin={box} />\n ))}\n </div>\n )}\n {items.map(({ run, bullet }, i) => (\n <div key={i} data-diagram-node-item={`${node.id}:${i}`}>\n <span\n className=\"absolute rounded-full bg-current\"\n style={{\n left: bullet.x - box.x - 2.2,\n top: bullet.y - box.y - 2.2,\n width: 4.4,\n height: 4.4,\n }}\n />\n <RunText run={run} origin={box} />\n </div>\n ))}\n {node.content !== undefined && (\n <div\n className=\"absolute inset-x-0 bottom-0 flex flex-col items-center justify-center\"\n style={{\n top: lastRun ? lastRun.bounds.y + lastRun.bounds.h - box.y : 0,\n }}\n >\n <div data-diagram-node-content={node.id}>{node.content}</div>\n </div>\n )}\n </motion.div>\n );\n}\n\nfunction RunText({\n run,\n origin,\n color,\n}: {\n run: TextRun;\n origin: Box;\n color?: string;\n}) {\n return (\n <span\n className=\"absolute whitespace-pre\"\n style={{\n left: run.bounds.x - origin.x,\n top: run.bounds.y - origin.y,\n fontFamily: FONT_FAMILY[run.font.face],\n fontSize: run.font.size,\n fontWeight: run.font.weight,\n lineHeight: `${run.bounds.h}px`,\n letterSpacing: run.font.face === 'mono' ? 0.6 : undefined,\n color,\n }}\n >\n {run.text}\n </span>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,16 @@
1
1
  import { type MotionValue } from 'motion/react';
2
- import { type BadgePlacement, type GroupDividerLine, type LabelPlacement, type PortPlacement } from '../../layouts/graph/graph-layout.ts';
3
- import type { DiagramEdge, DiagramGraphIR, DiagramLabelLine, DiagramNode, DiagramNodeIcon as DiagramNodeIconName, DiagramTexture, Box as SvgBox } from '../../model/diagram-ir.ts';
2
+ import type { EdgeLayout, GroupLayout, PortLayout } from '../../layouts/graph/graph-layout-result.ts';
3
+ import type { DiagramEdge, DiagramNode, DiagramNodeIcon as DiagramNodeIconName, DiagramNodePort, DiagramTexture, DiagramTone } from '../../model/diagram-ir.ts';
4
4
  import { type DiagramIds } from '../../react/chrome/index.ts';
5
5
  export declare function nodeFrameFill(node: DiagramNode, frame: DiagramNode['frame']): string;
6
6
  export declare function nodeFrameStroke(node: DiagramNode, frame: DiagramNode['frame'], themeAccent: string): string;
7
+ /** The theme accent, else the tone's stroke, else the fallback. */
8
+ export declare function accentToneStroke(subject: {
9
+ accent?: boolean | undefined;
10
+ tone?: DiagramTone | undefined;
11
+ }, themeAccent: string, fallback: string): string;
7
12
  export declare function nodeTextFill(node: DiagramNode, frame: DiagramNode['frame'], themeAccent: string): string;
8
- export declare function labelLineFill(line: DiagramLabelLine, fill: string, themeAccent: string): string;
13
+ export declare function nodeFrameStrokeWidth(node: DiagramNode): 0 | 1.5;
9
14
  export declare function nodeTexture(node: DiagramNode, frame: DiagramNode['frame']): DiagramTexture;
10
15
  export declare function textureFill(texture: DiagramTexture, ids: DiagramIds): string | null;
11
16
  export type SegmentKind = 'groups' | 'node' | 'edge';
@@ -23,10 +28,8 @@ export declare function DiagramNodeIcon({ icon, x, y, size, color, }: {
23
28
  size: number;
24
29
  color: string;
25
30
  }): import("react").JSX.Element;
26
- export declare function GroupRect({ group, box, dividers, progress, start, end, }: {
27
- group: DiagramGraphIR['groups'][number];
28
- box: SvgBox;
29
- dividers: GroupDividerLine[];
31
+ export declare function GroupRect({ layout, progress, start, end, }: {
32
+ layout: GroupLayout;
30
33
  progress: MotionValue<number>;
31
34
  start: number;
32
35
  end: number;
@@ -38,16 +41,15 @@ export declare function EdgeStroke({ d, edge, progress, start, end, }: {
38
41
  start: number;
39
42
  end: number;
40
43
  }): import("react").JSX.Element;
41
- export declare function EdgeOverlay({ edge, labelPlacement, badgePlacement, progress, start, end, }: {
42
- edge: DiagramEdge;
43
- labelPlacement: LabelPlacement | null;
44
- badgePlacement: BadgePlacement | null;
44
+ export declare function EdgeOverlay({ layout, progress, start, end, }: {
45
+ layout: EdgeLayout;
45
46
  progress: MotionValue<number>;
46
47
  start: number;
47
48
  end: number;
48
49
  }): import("react").JSX.Element;
49
- export declare function PortMarkers({ ownerId, placements, }: {
50
+ export declare function PortMarkers({ ownerId, ports, declared, }: {
50
51
  ownerId: string;
51
- placements: PortPlacement[];
52
+ ports: PortLayout[];
53
+ declared: DiagramNodePort[] | undefined;
52
54
  }): import("react").JSX.Element | null;
53
55
  //# sourceMappingURL=graph-parts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph-parts.d.ts","sourceRoot":"","sources":["../../../../src/lib/renderers/shared/graph-parts.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-parts.d.ts","sourceRoot":"","sources":["../../../../src/lib/renderers/shared/graph-parts.tsx"],"names":[],"mappings":"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"}