@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.
Files changed (122) hide show
  1. package/README.md +98 -52
  2. package/dist/index.d.ts +5 -3
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +1 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/compiler/diagram-compile.d.ts +3 -4
  7. package/dist/lib/compiler/diagram-compile.d.ts.map +1 -1
  8. package/dist/lib/compiler/diagram-compile.js +85 -370
  9. package/dist/lib/compiler/diagram-compile.js.map +1 -1
  10. package/dist/lib/layouts/graph/attach.d.ts +25 -0
  11. package/dist/lib/layouts/graph/attach.d.ts.map +1 -0
  12. package/dist/lib/layouts/graph/attach.js +272 -0
  13. package/dist/lib/layouts/graph/attach.js.map +1 -0
  14. package/dist/lib/layouts/graph/connections.d.ts +45 -0
  15. package/dist/lib/layouts/graph/connections.d.ts.map +1 -0
  16. package/dist/lib/layouts/graph/connections.js +138 -0
  17. package/dist/lib/layouts/graph/connections.js.map +1 -0
  18. package/dist/lib/layouts/graph/graph-layout-result.d.ts +5 -3
  19. package/dist/lib/layouts/graph/graph-layout-result.d.ts.map +1 -1
  20. package/dist/lib/layouts/graph/graph-layout-result.js.map +1 -1
  21. package/dist/lib/layouts/graph/gutters.js +41 -22
  22. package/dist/lib/layouts/graph/gutters.js.map +1 -1
  23. package/dist/lib/layouts/graph/labels.d.ts +23 -0
  24. package/dist/lib/layouts/graph/labels.d.ts.map +1 -0
  25. package/dist/lib/layouts/graph/labels.js +120 -0
  26. package/dist/lib/layouts/graph/labels.js.map +1 -0
  27. package/dist/lib/layouts/graph/layout.d.ts +1 -1
  28. package/dist/lib/layouts/graph/layout.d.ts.map +1 -1
  29. package/dist/lib/layouts/graph/layout.js +37 -12
  30. package/dist/lib/layouts/graph/layout.js.map +1 -1
  31. package/dist/lib/layouts/graph/measure.d.ts +15 -11
  32. package/dist/lib/layouts/graph/measure.d.ts.map +1 -1
  33. package/dist/lib/layouts/graph/measure.js +82 -38
  34. package/dist/lib/layouts/graph/measure.js.map +1 -1
  35. package/dist/lib/layouts/graph/min-heap.d.ts +8 -0
  36. package/dist/lib/layouts/graph/min-heap.d.ts.map +1 -0
  37. package/dist/lib/layouts/graph/min-heap.js +56 -0
  38. package/dist/lib/layouts/graph/min-heap.js.map +1 -0
  39. package/dist/lib/layouts/graph/node-content.d.ts +2 -3
  40. package/dist/lib/layouts/graph/node-content.d.ts.map +1 -1
  41. package/dist/lib/layouts/graph/node-content.js +67 -47
  42. package/dist/lib/layouts/graph/node-content.js.map +1 -1
  43. package/dist/lib/layouts/graph/path.d.ts +6 -0
  44. package/dist/lib/layouts/graph/path.d.ts.map +1 -0
  45. package/dist/lib/layouts/graph/path.js +53 -0
  46. package/dist/lib/layouts/graph/path.js.map +1 -0
  47. package/dist/lib/layouts/graph/round.d.ts +11 -0
  48. package/dist/lib/layouts/graph/round.d.ts.map +1 -0
  49. package/dist/lib/layouts/graph/round.js +181 -0
  50. package/dist/lib/layouts/graph/round.js.map +1 -0
  51. package/dist/lib/layouts/graph/route-search.d.ts +34 -0
  52. package/dist/lib/layouts/graph/route-search.d.ts.map +1 -0
  53. package/dist/lib/layouts/graph/route-search.js +208 -0
  54. package/dist/lib/layouts/graph/route-search.js.map +1 -0
  55. package/dist/lib/layouts/graph/route.d.ts +20 -0
  56. package/dist/lib/layouts/graph/route.d.ts.map +1 -0
  57. package/dist/lib/layouts/graph/route.js +276 -0
  58. package/dist/lib/layouts/graph/route.js.map +1 -0
  59. package/dist/lib/layouts/graph/sides.d.ts +28 -0
  60. package/dist/lib/layouts/graph/sides.d.ts.map +1 -0
  61. package/dist/lib/layouts/graph/sides.js +98 -0
  62. package/dist/lib/layouts/graph/sides.js.map +1 -0
  63. package/dist/lib/layouts/timeline/timeline-layout.d.ts +2 -1
  64. package/dist/lib/layouts/timeline/timeline-layout.d.ts.map +1 -1
  65. package/dist/lib/layouts/timeline/timeline-layout.js +9 -4
  66. package/dist/lib/layouts/timeline/timeline-layout.js.map +1 -1
  67. package/dist/lib/model/diagram-ir.d.ts +19 -156
  68. package/dist/lib/model/diagram-ir.d.ts.map +1 -1
  69. package/dist/lib/model/diagram-ir.js.map +1 -1
  70. package/dist/lib/model/validate-graph.d.ts +7 -0
  71. package/dist/lib/model/validate-graph.d.ts.map +1 -0
  72. package/dist/lib/model/validate-graph.js +54 -0
  73. package/dist/lib/model/validate-graph.js.map +1 -0
  74. package/dist/lib/react/Diagram.d.ts +3 -9
  75. package/dist/lib/react/Diagram.d.ts.map +1 -1
  76. package/dist/lib/react/Diagram.js +1 -13
  77. package/dist/lib/react/Diagram.js.map +1 -1
  78. package/dist/lib/react/diagram-types.d.ts +17 -46
  79. package/dist/lib/react/diagram-types.d.ts.map +1 -1
  80. package/dist/lib/react/diagram-types.js.map +1 -1
  81. package/dist/lib/renderers/canvas/graph-canvas.d.ts +2 -5
  82. package/dist/lib/renderers/canvas/graph-canvas.d.ts.map +1 -1
  83. package/dist/lib/renderers/canvas/graph-canvas.js +68 -43
  84. package/dist/lib/renderers/canvas/graph-canvas.js.map +1 -1
  85. package/dist/lib/renderers/html/graph-html.d.ts +2 -3
  86. package/dist/lib/renderers/html/graph-html.d.ts.map +1 -1
  87. package/dist/lib/renderers/html/graph-html.js +298 -289
  88. package/dist/lib/renderers/html/graph-html.js.map +1 -1
  89. package/dist/lib/renderers/shared/graph-parts.d.ts +3 -1
  90. package/dist/lib/renderers/shared/graph-parts.d.ts.map +1 -1
  91. package/dist/lib/renderers/shared/graph-parts.js +350 -418
  92. package/dist/lib/renderers/shared/graph-parts.js.map +1 -1
  93. package/dist/lib/renderers/shared/node-parts.d.ts +5 -6
  94. package/dist/lib/renderers/shared/node-parts.d.ts.map +1 -1
  95. package/dist/lib/renderers/shared/node-parts.js +112 -190
  96. package/dist/lib/renderers/shared/node-parts.js.map +1 -1
  97. package/dist/lib/renderers/shared/run-spans.js +2 -2
  98. package/dist/lib/renderers/shared/run-spans.js.map +1 -1
  99. package/dist/lib/renderers/shared/text-runs.d.ts +0 -6
  100. package/dist/lib/renderers/shared/text-runs.d.ts.map +1 -1
  101. package/dist/lib/renderers/shared/text-runs.js +0 -12
  102. package/dist/lib/renderers/shared/text-runs.js.map +1 -1
  103. package/dist/lib/renderers/svg/graph-svg.d.ts +1 -3
  104. package/dist/lib/renderers/svg/graph-svg.d.ts.map +1 -1
  105. package/dist/lib/renderers/svg/graph-svg.js +66 -80
  106. package/dist/lib/renderers/svg/graph-svg.js.map +1 -1
  107. package/dist/lib/renderers/svg/timeline-svg.d.ts.map +1 -1
  108. package/dist/lib/renderers/svg/timeline-svg.js +7 -5
  109. package/dist/lib/renderers/svg/timeline-svg.js.map +1 -1
  110. package/package.json +1 -1
  111. package/dist/lib/layouts/graph/graph-layout.d.ts +0 -154
  112. package/dist/lib/layouts/graph/graph-layout.d.ts.map +0 -1
  113. package/dist/lib/layouts/graph/graph-layout.js +0 -2340
  114. package/dist/lib/layouts/graph/graph-layout.js.map +0 -1
  115. package/dist/lib/layouts/graph/legacy-graph-layout.d.ts +0 -6
  116. package/dist/lib/layouts/graph/legacy-graph-layout.d.ts.map +0 -1
  117. package/dist/lib/layouts/graph/legacy-graph-layout.js +0 -542
  118. package/dist/lib/layouts/graph/legacy-graph-layout.js.map +0 -1
  119. package/dist/lib/layouts/text-metrics.d.ts +0 -7
  120. package/dist/lib/layouts/text-metrics.d.ts.map +0 -1
  121. package/dist/lib/layouts/text-metrics.js +0 -40
  122. package/dist/lib/layouts/text-metrics.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"timeline-svg.js","names":["motion","useTransform","compileTimeline","validateTimeline","FONT_FAMILY","TEXT_SHAPING","ACTOR_H","ACTOR_RX","ACTOR_W","DEFAULT_BOXED_STUB","FRAME_HEADER_H","SIGNAL_LABEL_BASELINE_GAP","SIGNAL_LABEL_FONT_SIZE","SIGNAL_LABEL_LINE_STEP","computeBoxedSignal","computeTimelineLayout","measureSignalLabel","DIAGRAM_BG","DIAGRAM_DIM","DIAGRAM_LIFELINE","DIAGRAM_NEUTRAL","DIAGRAM_ON_ACCENT","DIAGRAM_TEXT","DiagramFrame","useDiagramTheme","DiagramDefs","DiagramPaperRect","svgViewportProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","verticalTextOffset","lineCount","LaneBox","t0","$","_c","placement","label","y","progress","start","end","accent","themeAccent","ids","t1","t2","t3","Symbol","for","clamp","opacity","t4","t5","t6","translateY","stroke","t7","t8","rectX","x","strokeWidth","t9","dots","t10","fill","pointerEvents","t11","centerX","t12","length","t13","t14","line","i","dy","children","map","textAnchor","fontFamily","mono","fontSize","fontWeight","letterSpacing","t15","g","style","SignalMessage","signal","fromX","toX","direction","dim","labelFill","markerId","arrowAccent","arrowDim","arrowNeutral","labelLines","segmentStart","segmentEnd","rowY","drawEnd","labelStart","pathLength","pathOpacity","labelOpacity","boxed","boxH","boxW","stub","position","headInset","geom","boxTextX","boxLeft","boxRight","boxTextY","boxTop","boxStroke","bordered","stubA","x1","x2","path","d","stubB","t16","t17","t18","markerEnd","t19","t20","filled","t21","rx","t22","t23","t24","t25","t26","labelStartX","labelAnchor","labelBaseY","line_0","i_0","text","Lifeline","yStart","yEnd","FrameBox","frame","height","width","SvgTimelineDiagram","chrome","paper","title","viewport","ir","flat","lines","fit","TimelineSVG","stylePreset","layout","laneById","Map","lanes","_temp","_temp2","labelById","viewportProps","w","h","join","viewBox","preserveAspectRatio","role","kind","lane","lifelineYStart","lifelineYEnd","topLanesSegment","id","lane_0","get","topRectY","signals","fromLane","from","toLane","to","source","signal_0","fromLane_0","toLane_0","specSignal","lane_1","bottomRectY","bottomLanesSegment","a_0","a"],"sources":["../../../../src/lib/renderers/svg/timeline-svg.tsx"],"sourcesContent":["import { type MotionValue, motion, useTransform } from 'motion/react';\n\nimport {\n compileTimeline,\n validateTimeline,\n} from '../../compiler/diagram-compile.ts';\nimport { FONT_FAMILY, TEXT_SHAPING } from '../../layouts/text/font.ts';\nimport {\n ACTOR_H,\n ACTOR_RX,\n ACTOR_W,\n DEFAULT_BOXED_STUB,\n FRAME_HEADER_H,\n type FramePlacement,\n type LanePlacement,\n SIGNAL_LABEL_BASELINE_GAP,\n SIGNAL_LABEL_FONT_SIZE,\n SIGNAL_LABEL_LINE_STEP,\n type SignalPlacement,\n type DiagramSignal as TimelineSignal,\n computeBoxedSignal,\n computeTimelineLayout,\n measureSignalLabel,\n} from '../../layouts/timeline/timeline-layout.ts';\nimport type {\n DiagramPaper,\n DiagramTimelineSpec,\n DiagramViewport,\n} from '../../model/diagram-ir.ts';\nimport {\n DIAGRAM_BG,\n DIAGRAM_DIM,\n DIAGRAM_LIFELINE,\n DIAGRAM_NEUTRAL,\n DIAGRAM_ON_ACCENT,\n DIAGRAM_TEXT,\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 { DiagramPaperRect } from '../shared/paper.tsx';\nimport { svgViewportProps } from './viewport.ts';\n\n// Measured in Chrome against StreamingTimelineDiagram: these land lane and\n// boxed-signal text within 0.4px of centred. Unlike the graph renderer, every\n// timeline text is mono at SIGNAL_LABEL_FONT_SIZE, so a fixed nudge stays\n// correct here; derive from text-metrics.ts only if the size becomes variable.\nfunction verticalTextOffset(lineCount: number): number {\n return lineCount === 1 ? 4 : -3;\n}\n\nfunction LaneBox({\n placement,\n label,\n y,\n progress,\n start,\n end,\n}: {\n placement: LanePlacement;\n label: string[];\n y: number;\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 translateY = useTransform(progress, [start, end], [-10, 0], {\n clamp: true,\n });\n const stroke = placement.accent ? themeAccent : DIAGRAM_NEUTRAL;\n\n return (\n <motion.g style={{ opacity, y: translateY }}>\n <rect\n x={placement.rectX}\n y={y}\n width={ACTOR_W}\n height={ACTOR_H}\n rx={ACTOR_RX}\n fill={DIAGRAM_BG}\n stroke={stroke}\n strokeWidth={1.5}\n />\n <rect\n x={placement.rectX}\n y={y}\n width={ACTOR_W}\n height={ACTOR_H}\n rx={ACTOR_RX}\n fill={`url(#${ids.dots})`}\n pointerEvents=\"none\"\n />\n <text\n x={placement.centerX}\n y={y + ACTOR_H / 2 + verticalTextOffset(label.length)}\n textAnchor=\"middle\"\n fontFamily={FONT_FAMILY.mono}\n fontSize={12}\n fontWeight={500}\n fill={DIAGRAM_TEXT}\n letterSpacing={1.4}\n >\n {label.map((line, i) => (\n <tspan key={i} x={placement.centerX} dy={i === 0 ? 0 : 15}>\n {line}\n </tspan>\n ))}\n </text>\n </motion.g>\n );\n}\n\nfunction SignalMessage({\n signal,\n placement,\n fromX,\n toX,\n progress,\n}: {\n signal: TimelineSignal;\n placement: SignalPlacement;\n fromX: number;\n toX: number;\n progress: MotionValue<number>;\n}) {\n const { accent: themeAccent, ids } = useDiagramTheme();\n const direction = toX > fromX ? 1 : -1;\n const headInset = 6;\n const stroke = signal.accent\n ? themeAccent\n : signal.dim\n ? DIAGRAM_DIM\n : DIAGRAM_NEUTRAL;\n const labelFill = signal.dim ? DIAGRAM_DIM : DIAGRAM_TEXT;\n const markerId = signal.accent\n ? ids.arrowAccent\n : signal.dim\n ? ids.arrowDim\n : ids.arrowNeutral;\n\n const labelLines = signal.label.length;\n const { segmentStart: start, segmentEnd: end, rowY } = placement;\n const drawEnd = start + (end - start) * 0.7;\n const labelStart = start + (end - start) * 0.45;\n\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 const labelOpacity = useTransform(progress, [labelStart, end], [0, 1], {\n clamp: true,\n });\n\n if (signal.boxed) {\n const { boxW, boxH } = measureSignalLabel(signal.label);\n const geom = computeBoxedSignal({\n fromX,\n toX,\n rowY,\n boxW,\n boxH,\n stub: signal.stub ?? DEFAULT_BOXED_STUB,\n position: signal.boxed,\n headInset,\n });\n const boxTextX = (geom.boxLeft + geom.boxRight) / 2;\n const boxTextY = geom.boxTop + boxH / 2 + verticalTextOffset(labelLines);\n const boxStroke = signal.bordered === false ? 'none' : stroke;\n\n return (\n <g>\n <motion.path\n d={`M ${geom.stubA.x1} ${rowY} L ${geom.stubA.x2} ${rowY}`}\n fill=\"none\"\n stroke={stroke}\n strokeWidth={1.5}\n style={{ pathLength, opacity: pathOpacity }}\n />\n <motion.path\n d={`M ${geom.stubB.x1} ${rowY} L ${geom.stubB.x2} ${rowY}`}\n fill=\"none\"\n stroke={stroke}\n strokeWidth={1.5}\n markerEnd={`url(#${markerId})`}\n style={{ pathLength, opacity: pathOpacity }}\n />\n <motion.g style={{ opacity: labelOpacity }}>\n <rect\n x={geom.boxLeft}\n y={geom.boxTop}\n width={boxW}\n height={boxH}\n rx={10}\n fill={signal.filled === false ? 'none' : DIAGRAM_BG}\n stroke={boxStroke}\n strokeWidth={1.5}\n />\n {signal.filled !== false && (\n <rect\n x={geom.boxLeft}\n y={geom.boxTop}\n width={boxW}\n height={boxH}\n rx={10}\n fill={`url(#${ids.dots})`}\n pointerEvents=\"none\"\n />\n )}\n <text\n x={boxTextX}\n y={boxTextY}\n textAnchor=\"middle\"\n fontFamily={FONT_FAMILY.mono}\n fontSize={SIGNAL_LABEL_FONT_SIZE}\n fill={labelFill}\n >\n {signal.label.map((line, i) => (\n <tspan key={i} x={boxTextX} dy={i === 0 ? 0 : 15}>\n {line}\n </tspan>\n ))}\n </text>\n </motion.g>\n </g>\n );\n }\n\n const x2 = toX - direction * headInset;\n const labelStartX = direction > 0 ? fromX + 18 : fromX - 18;\n const labelAnchor: 'start' | 'end' = direction > 0 ? 'start' : 'end';\n const labelBaseY =\n rowY -\n SIGNAL_LABEL_BASELINE_GAP -\n (labelLines - 1) * SIGNAL_LABEL_LINE_STEP;\n\n return (\n <g>\n <motion.path\n d={`M ${fromX} ${rowY} L ${x2} ${rowY}`}\n fill=\"none\"\n stroke={stroke}\n strokeWidth={1.5}\n markerEnd={`url(#${markerId})`}\n style={{ pathLength, opacity: pathOpacity }}\n />\n <motion.text\n style={{ opacity: labelOpacity }}\n x={labelStartX}\n y={labelBaseY}\n textAnchor={labelAnchor}\n fontFamily={FONT_FAMILY.mono}\n fontSize={SIGNAL_LABEL_FONT_SIZE}\n fill={labelFill}\n >\n {signal.label.map((line, i) => (\n <tspan\n key={i}\n x={labelStartX}\n dy={i === 0 ? 0 : SIGNAL_LABEL_LINE_STEP}\n >\n {line}\n </tspan>\n ))}\n </motion.text>\n </g>\n );\n}\n\nfunction Lifeline({\n x,\n yStart,\n yEnd,\n accent,\n progress,\n start,\n end,\n}: {\n x: number;\n yStart: number;\n yEnd: number;\n accent: boolean;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent } = useDiagramTheme();\n const pathLength = useTransform(progress, [start, end], [0, 1], {\n clamp: true,\n });\n return (\n <motion.line\n x1={x}\n y1={yStart}\n x2={x}\n y2={yEnd}\n stroke={accent ? themeAccent : DIAGRAM_LIFELINE}\n strokeWidth={accent ? 1.5 : 1}\n style={{ pathLength }}\n />\n );\n}\n\nfunction FrameBox({\n frame,\n progress,\n}: {\n frame: FramePlacement;\n progress: MotionValue<number>;\n}) {\n const { accent: themeAccent, ids } = useDiagramTheme();\n const opacity = useTransform(\n progress,\n [frame.segmentStart, frame.segmentEnd],\n [0, 1],\n { clamp: true },\n );\n return (\n <motion.g style={{ opacity }}>\n <rect\n x={frame.x}\n y={frame.y}\n width={frame.width}\n height={frame.height}\n rx={6}\n fill={DIAGRAM_BG}\n stroke={themeAccent}\n strokeWidth={1.5}\n />\n <rect\n x={frame.x}\n y={frame.y}\n width={frame.width}\n height={frame.height}\n rx={6}\n fill={`url(#${ids.dots})`}\n pointerEvents=\"none\"\n />\n <rect\n x={frame.x}\n y={frame.y}\n width={64}\n height={FRAME_HEADER_H}\n fill={themeAccent}\n />\n <text\n x={frame.x + 32}\n y={frame.y + 16}\n textAnchor=\"middle\"\n fontFamily={FONT_FAMILY.mono}\n fontSize={10}\n fontWeight={600}\n fill={DIAGRAM_ON_ACCENT}\n letterSpacing={1.2}\n >\n FRAME\n </text>\n <text\n x={frame.x + frame.width / 2}\n y={frame.y + 16}\n textAnchor=\"middle\"\n fontFamily={FONT_FAMILY.mono}\n fontSize={10}\n fontWeight={500}\n fill={DIAGRAM_TEXT}\n letterSpacing={2}\n >\n {frame.label}\n </text>\n </motion.g>\n );\n}\n\nexport type SvgTimelineDiagramProps = DiagramProps;\n\nexport function SvgTimelineDiagram({\n title,\n children,\n viewport,\n paper,\n ...chrome\n}: SvgTimelineDiagramProps) {\n const ir = compileTimeline(children);\n const lines = [title].flat();\n return (\n <DiagramFrame title={lines} fit={viewport?.fit} {...chrome}>\n {(progress) => (\n <TimelineSVG\n ir={ir}\n title={lines}\n progress={progress}\n viewport={viewport}\n paper={paper}\n />\n )}\n </DiagramFrame>\n );\n}\n\nfunction TimelineSVG({\n ir,\n title,\n progress,\n viewport,\n paper,\n}: {\n ir: DiagramTimelineSpec;\n title: string[];\n progress: MotionValue<number>;\n viewport?: DiagramViewport | undefined;\n paper?: DiagramPaper | undefined;\n}) {\n const { stylePreset } = useDiagramTheme();\n validateTimeline(ir);\n const layout = computeTimelineLayout(ir);\n const laneById = new Map(layout.lanes.map((a) => [a.id, a]));\n const labelById = new Map(ir.lanes.map((a) => [a.id, a.label]));\n const viewportProps = svgViewportProps(\n { w: layout.width, h: layout.height },\n viewport,\n );\n\n return (\n <svg\n data-diagram-style-preset={stylePreset}\n {...viewportProps}\n style={{ ...viewportProps.style, ...TEXT_SHAPING }}\n viewBox={`0 0 ${layout.width} ${layout.height}`}\n preserveAspectRatio=\"xMidYMid meet\"\n role=\"img\"\n aria-label={title.join(' ')}\n >\n <title>{title.join(' ')}</title>\n <DiagramDefs />\n <DiagramPaperRect\n kind=\"timeline\"\n paper={paper}\n width={layout.width}\n height={layout.height}\n />\n\n {layout.lanes.map((lane) => (\n <Lifeline\n key={`life-${lane.id}`}\n x={lane.centerX}\n yStart={layout.lifelineYStart}\n yEnd={layout.lifelineYEnd}\n accent={lane.accent}\n progress={progress}\n start={layout.topLanesSegment.start}\n end={layout.topLanesSegment.end}\n />\n ))}\n\n {layout.lanes.map((lane) => (\n <LaneBox\n key={`top-${lane.id}`}\n placement={lane}\n label={labelById.get(lane.id) ?? [lane.id]}\n y={lane.topRectY}\n progress={progress}\n start={layout.topLanesSegment.start}\n end={layout.topLanesSegment.end}\n />\n ))}\n\n {layout.signals.map((signal, i) => {\n const fromLane = laneById.get(signal.from);\n const toLane = laneById.get(signal.to);\n const source = ir.signals[i];\n if (!fromLane || !toLane || !source) return null;\n return (\n <SignalMessage\n key={`signal-${i}`}\n signal={source}\n placement={signal}\n fromX={fromLane.centerX}\n toX={toLane.centerX}\n progress={progress}\n />\n );\n })}\n\n {layout.frame && ir.frame && (\n <>\n <FrameBox frame={layout.frame} progress={progress} />\n {layout.frame.signals.map((signal, i) => {\n const fromLane = laneById.get(signal.from);\n const toLane = laneById.get(signal.to);\n const specSignal = ir.frame?.signals[i];\n if (!fromLane || !toLane || !specSignal) return null;\n return (\n <SignalMessage\n key={`frame-signal-${i}`}\n signal={specSignal}\n placement={signal}\n fromX={fromLane.centerX}\n toX={toLane.centerX}\n progress={progress}\n />\n );\n })}\n </>\n )}\n\n {layout.lanes.map((lane) => (\n <LaneBox\n key={`bottom-${lane.id}`}\n placement={lane}\n label={labelById.get(lane.id) ?? [lane.id]}\n y={lane.bottomRectY}\n progress={progress}\n start={layout.bottomLanesSegment.start}\n end={layout.bottomLanesSegment.end}\n />\n ))}\n </svg>\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"timeline-svg.js","names":["motion","useTransform","compileTimeline","validateTimeline","FONT_FAMILY","TEXT_SHAPING","ACTOR_H","ACTOR_RX","ACTOR_W","DEFAULT_BOXED_STUB","FRAME_HEADER_H","SIGNAL_LABEL_BASELINE_GAP","SIGNAL_LABEL_FONT","SIGNAL_LABEL_LINE_STEP","computeBoxedSignal","computeTimelineLayout","measureSignalLabel","DIAGRAM_BG","DIAGRAM_DIM","DIAGRAM_LIFELINE","DIAGRAM_NEUTRAL","DIAGRAM_ON_ACCENT","DIAGRAM_TEXT","DiagramFrame","useDiagramTheme","DiagramDefs","DiagramPaperRect","svgViewportProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","verticalTextOffset","lineCount","LaneBox","t0","$","_c","placement","label","y","progress","start","end","accent","themeAccent","ids","t1","t2","t3","Symbol","for","clamp","opacity","t4","t5","t6","translateY","stroke","t7","t8","rectX","x","strokeWidth","t9","dots","t10","fill","pointerEvents","t11","centerX","t12","length","t13","t14","line","i","dy","children","map","textAnchor","fontFamily","mono","fontSize","fontWeight","letterSpacing","t15","g","style","SignalMessage","signal","fromX","toX","direction","dim","labelFill","markerId","arrowAccent","arrowDim","arrowNeutral","labelLines","segmentStart","segmentEnd","rowY","drawEnd","labelStart","pathLength","pathOpacity","labelOpacity","boxed","boxH","boxW","stub","position","headInset","geom","boxTextX","boxLeft","boxRight","boxTextY","boxTop","boxStroke","bordered","stubA","x1","x2","path","d","stubB","t16","t17","t18","markerEnd","t19","t20","filled","t21","rx","t22","t23","t24","size","weight","t25","t26","labelStartX","labelAnchor","labelBaseY","line_0","i_0","text","Lifeline","yStart","yEnd","FrameBox","frame","height","width","SvgTimelineDiagram","chrome","paper","title","viewport","ir","flat","lines","fit","TimelineSVG","stylePreset","layout","laneById","Map","lanes","_temp","_temp2","labelById","viewportProps","w","h","join","viewBox","preserveAspectRatio","role","kind","lane","lifelineYStart","lifelineYEnd","topLanesSegment","id","lane_0","get","topRectY","signals","fromLane","from","toLane","to","source","signal_0","fromLane_0","toLane_0","specSignal","lane_1","bottomRectY","bottomLanesSegment","a_0","a"],"sources":["../../../../src/lib/renderers/svg/timeline-svg.tsx"],"sourcesContent":["import { type MotionValue, motion, useTransform } from 'motion/react';\n\nimport {\n compileTimeline,\n validateTimeline,\n} from '../../compiler/diagram-compile.ts';\nimport { FONT_FAMILY, TEXT_SHAPING } from '../../layouts/text/font.ts';\nimport {\n ACTOR_H,\n ACTOR_RX,\n ACTOR_W,\n DEFAULT_BOXED_STUB,\n FRAME_HEADER_H,\n type FramePlacement,\n type LanePlacement,\n SIGNAL_LABEL_BASELINE_GAP,\n SIGNAL_LABEL_FONT,\n SIGNAL_LABEL_LINE_STEP,\n type SignalPlacement,\n type DiagramSignal as TimelineSignal,\n computeBoxedSignal,\n computeTimelineLayout,\n measureSignalLabel,\n} from '../../layouts/timeline/timeline-layout.ts';\nimport type {\n DiagramPaper,\n DiagramTimelineSpec,\n DiagramViewport,\n} from '../../model/diagram-ir.ts';\nimport {\n DIAGRAM_BG,\n DIAGRAM_DIM,\n DIAGRAM_LIFELINE,\n DIAGRAM_NEUTRAL,\n DIAGRAM_ON_ACCENT,\n DIAGRAM_TEXT,\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 { DiagramPaperRect } from '../shared/paper.tsx';\nimport { svgViewportProps } from './viewport.ts';\n\n// Measured in Chrome against StreamingTimelineDiagram: these land lane and\n// boxed-signal text within 0.4px of centred. Unlike the graph renderer, every\n// timeline text is mono at SIGNAL_LABEL_FONT.size, so a fixed nudge stays\n// correct here; derive from measure-text.ts only if the size becomes variable.\nfunction verticalTextOffset(lineCount: number): number {\n return lineCount === 1 ? 4 : -3;\n}\n\nfunction LaneBox({\n placement,\n label,\n y,\n progress,\n start,\n end,\n}: {\n placement: LanePlacement;\n label: string[];\n y: number;\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 translateY = useTransform(progress, [start, end], [-10, 0], {\n clamp: true,\n });\n const stroke = placement.accent ? themeAccent : DIAGRAM_NEUTRAL;\n\n return (\n <motion.g style={{ opacity, y: translateY }}>\n <rect\n x={placement.rectX}\n y={y}\n width={ACTOR_W}\n height={ACTOR_H}\n rx={ACTOR_RX}\n fill={DIAGRAM_BG}\n stroke={stroke}\n strokeWidth={1.5}\n />\n <rect\n x={placement.rectX}\n y={y}\n width={ACTOR_W}\n height={ACTOR_H}\n rx={ACTOR_RX}\n fill={`url(#${ids.dots})`}\n pointerEvents=\"none\"\n />\n <text\n x={placement.centerX}\n y={y + ACTOR_H / 2 + verticalTextOffset(label.length)}\n textAnchor=\"middle\"\n fontFamily={FONT_FAMILY.mono}\n fontSize={12}\n fontWeight={500}\n fill={DIAGRAM_TEXT}\n letterSpacing={1.4}\n >\n {label.map((line, i) => (\n <tspan key={i} x={placement.centerX} dy={i === 0 ? 0 : 15}>\n {line}\n </tspan>\n ))}\n </text>\n </motion.g>\n );\n}\n\nfunction SignalMessage({\n signal,\n placement,\n fromX,\n toX,\n progress,\n}: {\n signal: TimelineSignal;\n placement: SignalPlacement;\n fromX: number;\n toX: number;\n progress: MotionValue<number>;\n}) {\n const { accent: themeAccent, ids } = useDiagramTheme();\n const direction = toX > fromX ? 1 : -1;\n const headInset = 6;\n const stroke = signal.accent\n ? themeAccent\n : signal.dim\n ? DIAGRAM_DIM\n : DIAGRAM_NEUTRAL;\n const labelFill = signal.dim ? DIAGRAM_DIM : DIAGRAM_TEXT;\n const markerId = signal.accent\n ? ids.arrowAccent\n : signal.dim\n ? ids.arrowDim\n : ids.arrowNeutral;\n\n const labelLines = signal.label.length;\n const { segmentStart: start, segmentEnd: end, rowY } = placement;\n const drawEnd = start + (end - start) * 0.7;\n const labelStart = start + (end - start) * 0.45;\n\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 const labelOpacity = useTransform(progress, [labelStart, end], [0, 1], {\n clamp: true,\n });\n\n if (signal.boxed) {\n const { boxW, boxH } = measureSignalLabel(signal.label);\n const geom = computeBoxedSignal({\n fromX,\n toX,\n rowY,\n boxW,\n boxH,\n stub: signal.stub ?? DEFAULT_BOXED_STUB,\n position: signal.boxed,\n headInset,\n });\n const boxTextX = (geom.boxLeft + geom.boxRight) / 2;\n const boxTextY = geom.boxTop + boxH / 2 + verticalTextOffset(labelLines);\n const boxStroke = signal.bordered === false ? 'none' : stroke;\n\n return (\n <g>\n <motion.path\n d={`M ${geom.stubA.x1} ${rowY} L ${geom.stubA.x2} ${rowY}`}\n fill=\"none\"\n stroke={stroke}\n strokeWidth={1.5}\n style={{ pathLength, opacity: pathOpacity }}\n />\n <motion.path\n d={`M ${geom.stubB.x1} ${rowY} L ${geom.stubB.x2} ${rowY}`}\n fill=\"none\"\n stroke={stroke}\n strokeWidth={1.5}\n markerEnd={`url(#${markerId})`}\n style={{ pathLength, opacity: pathOpacity }}\n />\n <motion.g style={{ opacity: labelOpacity }}>\n <rect\n x={geom.boxLeft}\n y={geom.boxTop}\n width={boxW}\n height={boxH}\n rx={10}\n fill={signal.filled === false ? 'none' : DIAGRAM_BG}\n stroke={boxStroke}\n strokeWidth={1.5}\n />\n {signal.filled !== false && (\n <rect\n x={geom.boxLeft}\n y={geom.boxTop}\n width={boxW}\n height={boxH}\n rx={10}\n fill={`url(#${ids.dots})`}\n pointerEvents=\"none\"\n />\n )}\n <text\n x={boxTextX}\n y={boxTextY}\n textAnchor=\"middle\"\n fontFamily={FONT_FAMILY.mono}\n fontSize={SIGNAL_LABEL_FONT.size}\n fontWeight={SIGNAL_LABEL_FONT.weight}\n fill={labelFill}\n >\n {signal.label.map((line, i) => (\n <tspan key={i} x={boxTextX} dy={i === 0 ? 0 : 15}>\n {line}\n </tspan>\n ))}\n </text>\n </motion.g>\n </g>\n );\n }\n\n const x2 = toX - direction * headInset;\n const labelStartX = direction > 0 ? fromX + 18 : fromX - 18;\n const labelAnchor: 'start' | 'end' = direction > 0 ? 'start' : 'end';\n const labelBaseY =\n rowY -\n SIGNAL_LABEL_BASELINE_GAP -\n (labelLines - 1) * SIGNAL_LABEL_LINE_STEP;\n\n return (\n <g>\n <motion.path\n d={`M ${fromX} ${rowY} L ${x2} ${rowY}`}\n fill=\"none\"\n stroke={stroke}\n strokeWidth={1.5}\n markerEnd={`url(#${markerId})`}\n style={{ pathLength, opacity: pathOpacity }}\n />\n <motion.text\n style={{ opacity: labelOpacity }}\n x={labelStartX}\n y={labelBaseY}\n textAnchor={labelAnchor}\n fontFamily={FONT_FAMILY.mono}\n fontSize={SIGNAL_LABEL_FONT.size}\n fontWeight={SIGNAL_LABEL_FONT.weight}\n fill={labelFill}\n >\n {signal.label.map((line, i) => (\n <tspan\n key={i}\n x={labelStartX}\n dy={i === 0 ? 0 : SIGNAL_LABEL_LINE_STEP}\n >\n {line}\n </tspan>\n ))}\n </motion.text>\n </g>\n );\n}\n\nfunction Lifeline({\n x,\n yStart,\n yEnd,\n accent,\n progress,\n start,\n end,\n}: {\n x: number;\n yStart: number;\n yEnd: number;\n accent: boolean;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent } = useDiagramTheme();\n const pathLength = useTransform(progress, [start, end], [0, 1], {\n clamp: true,\n });\n return (\n <motion.line\n x1={x}\n y1={yStart}\n x2={x}\n y2={yEnd}\n stroke={accent ? themeAccent : DIAGRAM_LIFELINE}\n strokeWidth={accent ? 1.5 : 1}\n style={{ pathLength }}\n />\n );\n}\n\nfunction FrameBox({\n frame,\n progress,\n}: {\n frame: FramePlacement;\n progress: MotionValue<number>;\n}) {\n const { accent: themeAccent, ids } = useDiagramTheme();\n const opacity = useTransform(\n progress,\n [frame.segmentStart, frame.segmentEnd],\n [0, 1],\n { clamp: true },\n );\n return (\n <motion.g style={{ opacity }}>\n <rect\n x={frame.x}\n y={frame.y}\n width={frame.width}\n height={frame.height}\n rx={6}\n fill={DIAGRAM_BG}\n stroke={themeAccent}\n strokeWidth={1.5}\n />\n <rect\n x={frame.x}\n y={frame.y}\n width={frame.width}\n height={frame.height}\n rx={6}\n fill={`url(#${ids.dots})`}\n pointerEvents=\"none\"\n />\n <rect\n x={frame.x}\n y={frame.y}\n width={64}\n height={FRAME_HEADER_H}\n fill={themeAccent}\n />\n <text\n x={frame.x + 32}\n y={frame.y + 16}\n textAnchor=\"middle\"\n fontFamily={FONT_FAMILY.mono}\n fontSize={10}\n fontWeight={600}\n fill={DIAGRAM_ON_ACCENT}\n letterSpacing={1.2}\n >\n FRAME\n </text>\n <text\n x={frame.x + frame.width / 2}\n y={frame.y + 16}\n textAnchor=\"middle\"\n fontFamily={FONT_FAMILY.mono}\n fontSize={10}\n fontWeight={500}\n fill={DIAGRAM_TEXT}\n letterSpacing={2}\n >\n {frame.label}\n </text>\n </motion.g>\n );\n}\n\nexport type SvgTimelineDiagramProps = DiagramProps;\n\nexport function SvgTimelineDiagram({\n title,\n children,\n viewport,\n paper,\n ...chrome\n}: SvgTimelineDiagramProps) {\n const ir = compileTimeline(children);\n const lines = [title].flat();\n return (\n <DiagramFrame title={lines} fit={viewport?.fit} {...chrome}>\n {(progress) => (\n <TimelineSVG\n ir={ir}\n title={lines}\n progress={progress}\n viewport={viewport}\n paper={paper}\n />\n )}\n </DiagramFrame>\n );\n}\n\nfunction TimelineSVG({\n ir,\n title,\n progress,\n viewport,\n paper,\n}: {\n ir: DiagramTimelineSpec;\n title: string[];\n progress: MotionValue<number>;\n viewport?: DiagramViewport | undefined;\n paper?: DiagramPaper | undefined;\n}) {\n const { stylePreset } = useDiagramTheme();\n validateTimeline(ir);\n const layout = computeTimelineLayout(ir);\n const laneById = new Map(layout.lanes.map((a) => [a.id, a]));\n const labelById = new Map(ir.lanes.map((a) => [a.id, a.label]));\n const viewportProps = svgViewportProps(\n { w: layout.width, h: layout.height },\n viewport,\n );\n\n return (\n <svg\n data-diagram-style-preset={stylePreset}\n {...viewportProps}\n style={{ ...viewportProps.style, ...TEXT_SHAPING }}\n viewBox={`0 0 ${layout.width} ${layout.height}`}\n preserveAspectRatio=\"xMidYMid meet\"\n role=\"img\"\n aria-label={title.join(' ')}\n >\n <title>{title.join(' ')}</title>\n <DiagramDefs />\n <DiagramPaperRect\n kind=\"timeline\"\n paper={paper}\n width={layout.width}\n height={layout.height}\n />\n\n {layout.lanes.map((lane) => (\n <Lifeline\n key={`life-${lane.id}`}\n x={lane.centerX}\n yStart={layout.lifelineYStart}\n yEnd={layout.lifelineYEnd}\n accent={lane.accent}\n progress={progress}\n start={layout.topLanesSegment.start}\n end={layout.topLanesSegment.end}\n />\n ))}\n\n {layout.lanes.map((lane) => (\n <LaneBox\n key={`top-${lane.id}`}\n placement={lane}\n label={labelById.get(lane.id) ?? [lane.id]}\n y={lane.topRectY}\n progress={progress}\n start={layout.topLanesSegment.start}\n end={layout.topLanesSegment.end}\n />\n ))}\n\n {layout.signals.map((signal, i) => {\n const fromLane = laneById.get(signal.from);\n const toLane = laneById.get(signal.to);\n const source = ir.signals[i];\n if (!fromLane || !toLane || !source) return null;\n return (\n <SignalMessage\n key={`signal-${i}`}\n signal={source}\n placement={signal}\n fromX={fromLane.centerX}\n toX={toLane.centerX}\n progress={progress}\n />\n );\n })}\n\n {layout.frame && ir.frame && (\n <>\n <FrameBox frame={layout.frame} progress={progress} />\n {layout.frame.signals.map((signal, i) => {\n const fromLane = laneById.get(signal.from);\n const toLane = laneById.get(signal.to);\n const specSignal = ir.frame?.signals[i];\n if (!fromLane || !toLane || !specSignal) return null;\n return (\n <SignalMessage\n key={`frame-signal-${i}`}\n signal={specSignal}\n placement={signal}\n fromX={fromLane.centerX}\n toX={toLane.centerX}\n progress={progress}\n />\n );\n })}\n </>\n )}\n\n {layout.lanes.map((lane) => (\n <LaneBox\n key={`bottom-${lane.id}`}\n placement={lane}\n label={labelById.get(lane.id) ?? [lane.id]}\n y={lane.bottomRectY}\n progress={progress}\n start={layout.bottomLanesSegment.start}\n end={layout.bottomLanesSegment.end}\n />\n ))}\n </svg>\n );\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zukhruf/diagram",
3
- "version": "0.3.32",
3
+ "version": "0.3.34",
4
4
  "description": "Architecture and sequence diagrams as React components: declare nodes, edges, lanes and signals, and render them as SVG, HTML or canvas.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1,154 +0,0 @@
1
- import type { Box, DiagramAnnotation, DiagramAnnotationLeader, DiagramEdge, DiagramGraphLayout, DiagramGroup, DiagramNode, DiagramNodePort, DiagramSide, GraphLayoutSpec, Point } from '../../model/diagram-ir.ts';
2
- export type { DiagramAnnotation, DiagramAnnotationLeader, DiagramAnchor, DiagramEdge, DiagramEdgeLabelSide, DiagramGraphLayout, DiagramGroup, DiagramGuide, DiagramGuideOrientation, DiagramLabelLine, DiagramNode, DiagramNodeIcon, DiagramNodePort, DiagramWaypoint, GraphLayoutSpec, Box, Point, DiagramSide, } from '../../model/diagram-ir.ts';
3
- export declare const COL_W = 240;
4
- export declare const ROW_H = 128;
5
- export declare const NODE_W = 176;
6
- export declare const NODE_H = 64;
7
- export declare const NODE_RX = 16;
8
- export declare const NODE_PAD = 16;
9
- export declare const GROUP_PAD = 24;
10
- export declare const GROUP_LABEL_H = 28;
11
- export declare const GROUP_TITLE_GAP = 8;
12
- export declare const TITLE_TOP_PAD = 32;
13
- export declare const SVG_PAD_X = 60;
14
- export declare const SVG_PAD_Y = 32;
15
- export declare const ROUTE_CELL = 4;
16
- export declare const TURN_PENALTY = 14;
17
- export declare const STUB: number;
18
- export declare const ENTRY_GAP = 10;
19
- export declare const CONTENT_VIEWBOX_PAD = 40;
20
- export declare const PARALLEL_SPACING = 28;
21
- export declare const EDGE_BADGE_ICON = 22;
22
- export declare function nodeFrameRadius(node: DiagramNode): number;
23
- export type ViewBox = {
24
- x: number;
25
- y: number;
26
- w: number;
27
- h: number;
28
- };
29
- export type GroupDividerLine = {
30
- axis: 'row' | 'col';
31
- value: number;
32
- x1: number;
33
- y1: number;
34
- x2: number;
35
- y2: number;
36
- accent: boolean;
37
- };
38
- export type ResolvedDiagramAnnotation = DiagramAnnotation & {
39
- x: number;
40
- y: number;
41
- leaderFrom?: Point | undefined;
42
- leaderTo?: Point | undefined;
43
- leaders?: DiagramAnnotationLeader[] | undefined;
44
- };
45
- export type PortPlacement = DiagramNodePort & {
46
- ownerId: string;
47
- x: number;
48
- y: number;
49
- labelX: number;
50
- labelY: number;
51
- labelAlign: 'start' | 'middle' | 'end';
52
- };
53
- export type NodeCaptionPlacement = {
54
- lines: string[];
55
- x: number;
56
- y: number;
57
- align: 'start' | 'middle' | 'end';
58
- fontSize: number;
59
- lineHeight: number;
60
- };
61
- export declare function nodeBox(node: DiagramNode, layout?: DiagramGraphLayout): Box;
62
- export declare function nodeStackCount(node: DiagramNode): number;
63
- export declare function nodeStackOffset(node: DiagramNode): number;
64
- export declare function nodeStackVector(node: DiagramNode): Point;
65
- export declare function nodeStackWidthStep(node: DiagramNode): number;
66
- export declare function nodeStackHeightStep(node: DiagramNode): number;
67
- export declare function nodeStackFrameBox(node: DiagramNode, box: Box, level: number): Box;
68
- export declare function nodeVisualBox(node: DiagramNode, box?: Box): Box;
69
- export declare function nodeCaptionLines(node: DiagramNode): string[];
70
- export declare function nodeCaptionPlacement(node: DiagramNode, box?: Box): NodeCaptionPlacement | null;
71
- export declare function nodeCaptionBounds(node: DiagramNode, box?: Box): Box | null;
72
- export declare function resolveGraphLayout(spec: GraphLayoutSpec): GraphLayoutSpec;
73
- export declare function groupBox(group: DiagramGroup, nodes?: DiagramNode[], layout?: DiagramGraphLayout, groups?: DiagramGroup[]): Box;
74
- export declare function groupLabelLines(group: DiagramGroup): string[];
75
- export declare function groupLabelHeight(group: DiagramGroup): number;
76
- export declare function groupTitleGutterHeight(group: DiagramGroup): number;
77
- export declare function groupDividerLines(group: DiagramGroup, nodes?: DiagramNode[], layout?: DiagramGraphLayout, groups?: DiagramGroup[]): GroupDividerLine[];
78
- export declare function svgDimensions(spec: GraphLayoutSpec): {
79
- w: number;
80
- h: number;
81
- };
82
- export declare function graphContentViewBox(spec: GraphLayoutSpec, routedEdges: RoutedEdge[], padding?: number): ViewBox;
83
- export declare function nodePortPlacements(node: DiagramNode, box?: Box): PortPlacement[];
84
- export declare function groupPortPlacements(group: DiagramGroup, box?: Box): PortPlacement[];
85
- export declare function resolveGraphAnnotations(spec: GraphLayoutSpec): ResolvedDiagramAnnotation[];
86
- export declare function resolveGraphAnnotation(annotation: DiagramAnnotation, spec: GraphLayoutSpec): ResolvedDiagramAnnotation;
87
- export declare function snapToGrid(v: number): number;
88
- export declare function buildObstacles(nodes: DiagramNode[], gridW: number, gridH: number, layout?: DiagramGraphLayout): Set<number>;
89
- export declare function endpointsForDiagramSides(source: Box, target: Box, exitSide: DiagramSide, entrySide: DiagramSide, exitOffset?: number, entryOffset?: number, entryGap?: number): {
90
- exit: Point;
91
- entry: Point;
92
- exitSide: DiagramSide;
93
- entrySide: DiagramSide;
94
- };
95
- export declare function pickEndpoints(source: Box, target: Box, hint?: {
96
- exitSide?: DiagramSide;
97
- entrySide?: DiagramSide;
98
- }, exitOffset?: number, entryOffset?: number, entryGap?: number): {
99
- exit: Point;
100
- entry: Point;
101
- exitSide: DiagramSide;
102
- entrySide: DiagramSide;
103
- };
104
- export declare function computeStub(point: Point, side: DiagramSide, distance?: number): Point;
105
- export declare function simplifyPath(path: Point[]): Point[];
106
- export declare function pathToSvg(points: Point[], radius?: number): string;
107
- export type LabelPlacement = {
108
- x: number;
109
- y: number;
110
- align: NonNullable<DiagramEdge['labelAlign']>;
111
- side: 'above' | 'below' | 'left' | 'right';
112
- segmentIndex?: number;
113
- };
114
- export type BadgePlacement = {
115
- x: number;
116
- y: number;
117
- side: 'above' | 'below' | 'left' | 'right';
118
- };
119
- export declare function edgeLabelFontSize(edge: DiagramEdge): number;
120
- export declare function edgeLabelFramePad(edge: DiagramEdge): number;
121
- export declare function edgeLabelSize(edge: DiagramEdge): {
122
- w: number;
123
- h: number;
124
- };
125
- export declare function edgeLabelAscent(edge: DiagramEdge): number;
126
- export declare function edgeLabelLineHeight(edge: DiagramEdge): number;
127
- export declare function edgeBadgeSize(edge: DiagramEdge): {
128
- w: number;
129
- h: number;
130
- };
131
- export declare function edgeLabelFrameBox(edge: DiagramEdge, placement: LabelPlacement): Box;
132
- export declare function routeEdge(edge: DiagramEdge, source: Box, target: Box, blocked: Set<number>, gridW: number, gridH: number, hint?: {
133
- exitSide?: DiagramSide;
134
- entrySide?: DiagramSide;
135
- }, exitOffset?: number, entryOffset?: number, waypoints?: Point[], entryGap?: number, routeOffset?: number): {
136
- d: string;
137
- entry: Point;
138
- points: Point[];
139
- labelPlacement: LabelPlacement | null;
140
- badgePlacement: BadgePlacement | null;
141
- };
142
- export declare function pointOnBoxSide(box: Box, side: DiagramSide, offset?: number): Point;
143
- export type RoutedEdge = {
144
- edge: DiagramEdge;
145
- exitSide: DiagramSide;
146
- entrySide: DiagramSide;
147
- d: string;
148
- entry: Point;
149
- points: Point[];
150
- labelPlacement: LabelPlacement | null;
151
- badgePlacement: BadgePlacement | null;
152
- };
153
- export declare function computePaths(spec: GraphLayoutSpec): RoutedEdge[];
154
- //# sourceMappingURL=graph-layout.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph-layout.d.ts","sourceRoot":"","sources":["../../../../src/lib/layouts/graph/graph-layout.ts"],"names":[],"mappings":"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"}