@statelyai/layout 0.0.1 → 0.0.3

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 (42) hide show
  1. package/README.md +1 -3
  2. package/dist/elkjs/index.mjs +15 -11
  3. package/dist/{index-D2RodsZY.d.mts → index-8xYkohbz.d.mts} +2 -0
  4. package/dist/index.d.mts +1 -1
  5. package/dist/index.mjs +2 -2
  6. package/dist/layered/index.d.mts +1 -1
  7. package/dist/layered/index.mjs +1 -1
  8. package/dist/{layered-Dd868WZY.mjs → layered-f_3mmGHr.mjs} +717 -62
  9. package/dist/{spore-fTgSoRLP.mjs → spore-BfTduMDc.mjs} +1 -1
  10. package/package.json +20 -6
  11. package/src/box.ts +135 -0
  12. package/src/elkjs/index.ts +1832 -0
  13. package/src/elkjs/types.ts +103 -0
  14. package/src/errors.ts +16 -0
  15. package/src/fixed.ts +80 -0
  16. package/src/index.ts +92 -0
  17. package/src/java-random.ts +46 -0
  18. package/src/layered/bk-node-placement.ts +715 -0
  19. package/src/layered/elk-enum-values.ts +171 -0
  20. package/src/layered/elk-options.generated.ts +315 -0
  21. package/src/layered/elk-options.ts +98 -0
  22. package/src/layered/flexible-ports.ts +11 -0
  23. package/src/layered/high-degree.ts +127 -0
  24. package/src/layered/index.ts +2555 -0
  25. package/src/layered/layer-unzipping.ts +217 -0
  26. package/src/layered/linear-segments-node-placement.ts +447 -0
  27. package/src/layered/long-edges.ts +406 -0
  28. package/src/layered/min-width.ts +159 -0
  29. package/src/layered/multi-edge-wrapping.ts +460 -0
  30. package/src/layered/network-simplex-node-placement.ts +500 -0
  31. package/src/layered/network-simplex.ts +346 -0
  32. package/src/layered/node-promotion.ts +197 -0
  33. package/src/layered/spacing.ts +37 -0
  34. package/src/layered/spline-bezier.ts +102 -0
  35. package/src/layered/strategies.ts +5403 -0
  36. package/src/layered/stretch-width.ts +136 -0
  37. package/src/layered/types.ts +111 -0
  38. package/src/layout.ts +202 -0
  39. package/src/packing.ts +74 -0
  40. package/src/random.ts +142 -0
  41. package/src/spore.ts +103 -0
  42. package/src/types.ts +84 -0
package/README.md CHANGED
@@ -162,6 +162,4 @@ Add a release note with `pnpm changeset`. When it reaches `main`, the release
162
162
  workflow opens or updates a version pull request. Merging that pull request
163
163
  publishes the package to npm and creates the GitHub release and tag.
164
164
 
165
- Before the first automated release, publish the initial `0.0.0` package and
166
- configure npm Trusted Publishing for `statelyai/layout` using
167
- `.github/workflows/release.yml`.
165
+ Publishing uses npm Trusted Publishing through `.github/workflows/release.yml`.
@@ -1,5 +1,5 @@
1
- import { o as elkLayeredOptionDefinitions, t as getLayeredLayout } from "../layered-Dd868WZY.mjs";
2
- import { a as getRandomLayout, f as getFixedLayout, n as getSporeOverlapRemovalLayout, s as getRectanglePackingLayout, t as getSporeCompactionLayout, u as getBoxLayout } from "../spore-fTgSoRLP.mjs";
1
+ import { o as elkLayeredOptionDefinitions, t as getLayeredLayout } from "../layered-f_3mmGHr.mjs";
2
+ import { a as getRandomLayout, f as getFixedLayout, n as getSporeOverlapRemovalLayout, s as getRectanglePackingLayout, t as getSporeCompactionLayout, u as getBoxLayout } from "../spore-BfTduMDc.mjs";
3
3
  import { createGraph } from "@statelyai/graph";
4
4
 
5
5
  //#region src/elkjs/index.ts
@@ -573,8 +573,9 @@ function applyNodeMicroLayout(graph, globalOptions) {
573
573
  const configuredSizeOptions = getOption(node.layoutOptions ?? {}, "nodeSize.options");
574
574
  const sizeOptions = new Set(configuredSizeOptions === void 0 ? ["DEFAULT_MINIMUM_SIZE"] : String(configuredSizeOptions).split(/[\s,;]+/).filter(Boolean));
575
575
  const effectivelyFixedPortLabelSize = constraints.includes("PORT_LABELS") && !constraints.includes("NODE_LABELS") && !constraints.includes("MINIMUM_SIZE");
576
- let width = effectivelyFixedPortLabelSize ? node.width ?? 0 : 0;
577
- let height = effectivelyFixedPortLabelSize ? node.height ?? 0 : 0;
576
+ const preserveComputedCompoundSize = (node.children?.length ?? 0) > 0;
577
+ let width = effectivelyFixedPortLabelSize || preserveComputedCompoundSize ? node.width ?? 0 : 0;
578
+ let height = effectivelyFixedPortLabelSize || preserveComputedCompoundSize ? node.height ?? 0 : 0;
578
579
  let insideHorizontalInset = 0;
579
580
  let insideVerticalInset = 0;
580
581
  const insideLabelCells = /* @__PURE__ */ new Map();
@@ -599,8 +600,8 @@ function applyNodeMicroLayout(graph, globalOptions) {
599
600
  }
600
601
  width = Math.max(width, (Math.max(sideCounts.NORTH, sideCounts.SOUTH) + 1) * spacing);
601
602
  height = Math.max(height, (Math.max(sideCounts.EAST, sideCounts.WEST) + 1) * spacing);
602
- if (sideCounts.NORTH === 0 && sideCounts.SOUTH === 0) width = 0;
603
- if (sideCounts.EAST === 0 && sideCounts.WEST === 0) height = 0;
603
+ if (!preserveComputedCompoundSize && sideCounts.NORTH === 0 && sideCounts.SOUTH === 0) width = 0;
604
+ if (!preserveComputedCompoundSize && sideCounts.EAST === 0 && sideCounts.WEST === 0) height = 0;
604
605
  }
605
606
  if (constraints.includes("NODE_LABELS")) {
606
607
  for (const label of node.labels ?? []) {
@@ -1070,18 +1071,21 @@ function normalizeElkGraphBounds(root, padding, layoutOptions = {}) {
1070
1071
  const wrappingStrategy = String(getOption(layoutOptions, "layered.wrapping.strategy") ?? "OFF");
1071
1072
  const direction = getDirection(layoutOptions);
1072
1073
  const laidOutChildById = new Map((root.children ?? []).map((child) => [String(child.id), child]));
1074
+ const childByEndpointId = new Map(laidOutChildById);
1075
+ for (const child of root.children ?? []) for (const port of child.ports ?? []) childByEndpointId.set(String(port.id), child);
1073
1076
  const wrappedEdgeCount = (root.edges ?? []).filter((edge) => {
1074
- const source = laidOutChildById.get(String(edge.sources?.[0] ?? edge.source));
1075
- const target = laidOutChildById.get(String(edge.targets?.[0] ?? edge.target));
1077
+ const source = childByEndpointId.get(String(edge.sources?.[0] ?? edge.source));
1078
+ const target = childByEndpointId.get(String(edge.targets?.[0] ?? edge.target));
1076
1079
  if (!source || !target) return false;
1077
1080
  return direction === "right" ? (source.x ?? 0) > (target.x ?? 0) : direction === "left" ? (source.x ?? 0) < (target.x ?? 0) : direction === "down" ? (source.y ?? 0) > (target.y ?? 0) : (source.y ?? 0) < (target.y ?? 0);
1078
1081
  }).length;
1079
- const addBoundaryPixel = wrappingStrategy !== "MULTI_EDGE" && !(wrappingStrategy === "SINGLE_EDGE" && wrappedEdgeCount > 0) && String(getOption(layoutOptions, "layered.compaction.postCompaction.strategy") ?? "NONE") === "NONE" && getBooleanOption(layoutOptions, "layered.feedbackEdges") !== true && String(getOption(layoutOptions, "layered.layering.nodePromotion.strategy") ?? "NONE") !== "MODEL_ORDER_LEFT_TO_RIGHT" && !(root.edges ?? []).some((edge) => edge.sources?.[0] === edge.targets?.[0]) && !(root.children ?? []).some((child) => (child.children?.length ?? 0) > 0);
1082
+ const hasWrappedEdge = wrappedEdgeCount > 0;
1083
+ const addBoundaryPixel = wrappingStrategy !== "MULTI_EDGE" && !(wrappingStrategy === "SINGLE_EDGE" && hasWrappedEdge) && String(getOption(layoutOptions, "layered.compaction.postCompaction.strategy") ?? "NONE") === "NONE" && getBooleanOption(layoutOptions, "layered.feedbackEdges") !== true && String(getOption(layoutOptions, "layered.layering.nodePromotion.strategy") ?? "NONE") !== "MODEL_ORDER_LEFT_TO_RIGHT" && !(root.edges ?? []).some((edge) => edge.sources?.[0] === edge.targets?.[0]) && !(root.children ?? []).some((child) => (child.children?.length ?? 0) > 0);
1080
1084
  const edgeBoundsExtraX = addBoundaryPixel && layoutEdgePoints.length > 0 && Math.max(...layoutEdgePoints.map((point) => point.x)) >= maximumNodeX - 1e-9 ? 1 : 0;
1081
1085
  const edgeBoundsExtraY = addBoundaryPixel && layoutEdgePoints.length > 0 && Math.max(...layoutEdgePoints.map((point) => point.y)) >= maximumNodeY - 1e-9 ? 1 : 0;
1082
1086
  const singleMultiEdgeCutBoundsExtraY = wrappingStrategy === "MULTI_EDGE" && wrappedEdgeCount === 1 && layoutEdgePoints.length > 0 && Math.max(...layoutEdgePoints.map((point) => point.y)) >= maximumNodeY - 1e-9 ? 1 : 0;
1083
- const postCompactionBoundsExtraX = !addBoundaryPixel && String(getOption(layoutOptions, "layered.compaction.postCompaction.strategy") ?? "NONE") !== "NONE" && layoutEdgePoints.length > 0 && Math.max(...layoutEdgePoints.map((point) => point.x)) > maximumNodeX + 1e-9 ? .04 : 0;
1084
- const postCompactionBoundsExtraY = !addBoundaryPixel && String(getOption(layoutOptions, "layered.compaction.postCompaction.strategy") ?? "NONE") !== "NONE" && layoutEdgePoints.length > 0 && Math.max(...layoutEdgePoints.map((point) => point.y)) > maximumNodeY + 1e-9 ? .04 : 0;
1087
+ const postCompactionBoundsExtraX = !addBoundaryPixel && !hasWrappedEdge && String(getOption(layoutOptions, "layered.compaction.postCompaction.strategy") ?? "NONE") !== "NONE" && layoutEdgePoints.length > 0 && Math.max(...layoutEdgePoints.map((point) => point.x)) > maximumNodeX + 1e-9 ? .04 : 0;
1088
+ const postCompactionBoundsExtraY = !addBoundaryPixel && !hasWrappedEdge && String(getOption(layoutOptions, "layered.compaction.postCompaction.strategy") ?? "NONE") !== "NONE" && layoutEdgePoints.length > 0 && Math.max(...layoutEdgePoints.map((point) => point.y)) > maximumNodeY + 1e-9 ? .04 : 0;
1085
1089
  const calculatedWidth = Math.max(0, ...layoutChildren.flatMap((node) => [
1086
1090
  (node.x ?? 0) + (node.width ?? 0),
1087
1091
  ...(node.labels ?? []).map((label) => (node.x ?? 0) + (label.x ?? 0) + (label.width ?? 0)),
@@ -1110,6 +1110,8 @@ interface EdgeRoutes {
1110
1110
  pointsByEdgeId: ReadonlyMap<string, readonly Point[]>;
1111
1111
  /** ELK spline segment NUB controls retained until long-edge joining. */
1112
1112
  splineNubControlsByEdgeId?: ReadonlyMap<string, readonly Point[]>;
1113
+ /** Reversed fixed-side routes that must stay outside the node envelope during compaction. */
1114
+ outsideFeedbackEdgeIds?: ReadonlySet<string>;
1113
1115
  }
1114
1116
  type CycleBreaker = (input: LayeredPhaseInput) => AcyclicOrientation;
1115
1117
  type LayerAssigner = (input: LayeredPhaseInput, orientation: AcyclicOrientation) => LayerAssignment;
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as LayeringStrategy, A as routeEdgesOrthogonally, B as LayerOrder, C as breakCyclesWithModelOrderDepthFirstSearch, D as minimizeCrossingsWithModelOrder, E as minimizeCrossingsWithMedian, F as CycleBreaker, G as LayoutPadding, H as LayeredPhaseInput, I as EdgeRouter, J as NodeSize, K as NodePlacement, L as EdgeRoutes, M as routeEdgesWithSplines, N as AcyclicOrientation, O as placeNodesInLayers, P as CrossingMinimizer, Q as LayeredAdvancedOptions, R as LayerAssigner, S as breakCyclesWithModelOrderBreadthFirstSearch, T as minimizeCrossingsWithBarycenter, U as LayeredSpacing, V as LayeredLayoutOptions, W as LayeredStrategies, X as CycleBreakingStrategy, Y as CrossingMinimizationStrategy, Z as EdgeRoutingStyle, _ as breakCyclesByStronglyConnectedNodeType, _t as LayoutResult, at as ElkLayeredOptionName, b as breakCyclesInteractively, c as assignLayersWithNetworkSimplex, ct as AnyGraph, d as assignLayersByLongestPath, dt as LayoutDiagnostic, et as NodePlacementStrategy, f as assignLayersByLongestPathToSink, ft as LayoutDirection, g as breakCyclesByStronglyConnectedConnectivity, gt as LayoutRequest, h as breakCyclesByModelOrder, ht as LayoutPhaseMetrics, it as ElkLayeredOptionId, j as routeEdgesWithPolylines, k as placeNodesInteractively, l as assignLayersByBreadthFirstModelOrder, lt as LayoutAlgorithm, m as assignLayersWithCoffmanGraham, mt as LayoutMetrics, n as layeredAlgorithm, nt as toElkLayeredOptions, o as assignLayersWithStretchWidth, ot as ElkLayeredOptionValueByName, p as assignLayersInteractively, pt as LayoutExecutionContext, q as NodePlacer, rt as elkLayeredEnumValues, s as assignLayersWithMinWidth, st as elkLayeredOptionDefinitions, t as getLayeredLayout, tt as fromElkLayeredOptionId, u as assignLayersByDepthFirstModelOrder, ut as LayoutCapabilities, v as breakCyclesGreedily, vt as LayoutScope, w as minimizeCrossingsInteractively, x as breakCyclesWithDepthFirstSearch, y as breakCyclesGreedilyByModelOrder, z as LayerAssignment } from "./index-D2RodsZY.mjs";
1
+ import { $ as LayeringStrategy, A as routeEdgesOrthogonally, B as LayerOrder, C as breakCyclesWithModelOrderDepthFirstSearch, D as minimizeCrossingsWithModelOrder, E as minimizeCrossingsWithMedian, F as CycleBreaker, G as LayoutPadding, H as LayeredPhaseInput, I as EdgeRouter, J as NodeSize, K as NodePlacement, L as EdgeRoutes, M as routeEdgesWithSplines, N as AcyclicOrientation, O as placeNodesInLayers, P as CrossingMinimizer, Q as LayeredAdvancedOptions, R as LayerAssigner, S as breakCyclesWithModelOrderBreadthFirstSearch, T as minimizeCrossingsWithBarycenter, U as LayeredSpacing, V as LayeredLayoutOptions, W as LayeredStrategies, X as CycleBreakingStrategy, Y as CrossingMinimizationStrategy, Z as EdgeRoutingStyle, _ as breakCyclesByStronglyConnectedNodeType, _t as LayoutResult, at as ElkLayeredOptionName, b as breakCyclesInteractively, c as assignLayersWithNetworkSimplex, ct as AnyGraph, d as assignLayersByLongestPath, dt as LayoutDiagnostic, et as NodePlacementStrategy, f as assignLayersByLongestPathToSink, ft as LayoutDirection, g as breakCyclesByStronglyConnectedConnectivity, gt as LayoutRequest, h as breakCyclesByModelOrder, ht as LayoutPhaseMetrics, it as ElkLayeredOptionId, j as routeEdgesWithPolylines, k as placeNodesInteractively, l as assignLayersByBreadthFirstModelOrder, lt as LayoutAlgorithm, m as assignLayersWithCoffmanGraham, mt as LayoutMetrics, n as layeredAlgorithm, nt as toElkLayeredOptions, o as assignLayersWithStretchWidth, ot as ElkLayeredOptionValueByName, p as assignLayersInteractively, pt as LayoutExecutionContext, q as NodePlacer, rt as elkLayeredEnumValues, s as assignLayersWithMinWidth, st as elkLayeredOptionDefinitions, t as getLayeredLayout, tt as fromElkLayeredOptionId, u as assignLayersByDepthFirstModelOrder, ut as LayoutCapabilities, v as breakCyclesGreedily, vt as LayoutScope, w as minimizeCrossingsInteractively, x as breakCyclesWithDepthFirstSearch, y as breakCyclesGreedilyByModelOrder, z as LayerAssignment } from "./index-8xYkohbz.mjs";
2
2
  import { LayoutOptions } from "@statelyai/graph/layout";
3
3
  import { Graph, GraphNode, VisualGraph } from "@statelyai/graph";
4
4
 
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { A as minimizeCrossingsWithBarycenter, B as LayoutError, C as breakCyclesGreedilyByModelOrder, D as breakCyclesWithModelOrderDepthFirstSearch, E as breakCyclesWithModelOrderBreadthFirstSearch, I as routeEdgesOrthogonally, L as routeEdgesWithPolylines, M as minimizeCrossingsWithModelOrder, N as placeNodesInLayers, P as placeNodesInteractively, R as routeEdgesWithSplines, S as breakCyclesGreedily, T as breakCyclesWithDepthFirstSearch, V as UnsupportedLayoutError, _ as assignLayersInteractively, a as elkLayeredEnumValues, b as breakCyclesByStronglyConnectedConnectivity, d as assignLayersWithMinWidth, f as assignLayersWithNetworkSimplex, g as assignLayersByLongestPathToSink, h as assignLayersByLongestPath, i as toElkLayeredOptions, j as minimizeCrossingsWithMedian, k as minimizeCrossingsInteractively, m as assignLayersByDepthFirstModelOrder, n as layeredAlgorithm, o as elkLayeredOptionDefinitions, p as assignLayersByBreadthFirstModelOrder, r as fromElkLayeredOptionId, t as getLayeredLayout, u as assignLayersWithStretchWidth, v as assignLayersWithCoffmanGraham, w as breakCyclesInteractively, x as breakCyclesByStronglyConnectedNodeType, y as breakCyclesByModelOrder } from "./layered-Dd868WZY.mjs";
2
- import { a as getRandomLayout, c as rectanglePackingAlgorithm, d as fixedAlgorithm, f as getFixedLayout, i as sporeOverlapRemovalAlgorithm, l as boxAlgorithm, n as getSporeOverlapRemovalLayout, o as randomAlgorithm, r as sporeCompactionAlgorithm, s as getRectanglePackingLayout, t as getSporeCompactionLayout, u as getBoxLayout } from "./spore-fTgSoRLP.mjs";
1
+ import { A as minimizeCrossingsWithBarycenter, B as LayoutError, C as breakCyclesGreedilyByModelOrder, D as breakCyclesWithModelOrderDepthFirstSearch, E as breakCyclesWithModelOrderBreadthFirstSearch, I as routeEdgesOrthogonally, L as routeEdgesWithPolylines, M as minimizeCrossingsWithModelOrder, N as placeNodesInLayers, P as placeNodesInteractively, R as routeEdgesWithSplines, S as breakCyclesGreedily, T as breakCyclesWithDepthFirstSearch, V as UnsupportedLayoutError, _ as assignLayersInteractively, a as elkLayeredEnumValues, b as breakCyclesByStronglyConnectedConnectivity, d as assignLayersWithMinWidth, f as assignLayersWithNetworkSimplex, g as assignLayersByLongestPathToSink, h as assignLayersByLongestPath, i as toElkLayeredOptions, j as minimizeCrossingsWithMedian, k as minimizeCrossingsInteractively, m as assignLayersByDepthFirstModelOrder, n as layeredAlgorithm, o as elkLayeredOptionDefinitions, p as assignLayersByBreadthFirstModelOrder, r as fromElkLayeredOptionId, t as getLayeredLayout, u as assignLayersWithStretchWidth, v as assignLayersWithCoffmanGraham, w as breakCyclesInteractively, x as breakCyclesByStronglyConnectedNodeType, y as breakCyclesByModelOrder } from "./layered-f_3mmGHr.mjs";
2
+ import { a as getRandomLayout, c as rectanglePackingAlgorithm, d as fixedAlgorithm, f as getFixedLayout, i as sporeOverlapRemovalAlgorithm, l as boxAlgorithm, n as getSporeOverlapRemovalLayout, o as randomAlgorithm, r as sporeCompactionAlgorithm, s as getRectanglePackingLayout, t as getSporeCompactionLayout, u as getBoxLayout } from "./spore-BfTduMDc.mjs";
3
3
  import { getGraphIssues } from "@statelyai/graph";
4
4
 
5
5
  //#region src/layout.ts
@@ -1,2 +1,2 @@
1
- import { $ as LayeringStrategy, A as routeEdgesOrthogonally, B as LayerOrder, C as breakCyclesWithModelOrderDepthFirstSearch, D as minimizeCrossingsWithModelOrder, E as minimizeCrossingsWithMedian, F as CycleBreaker, G as LayoutPadding, H as LayeredPhaseInput, I as EdgeRouter, J as NodeSize, K as NodePlacement, L as EdgeRoutes, M as routeEdgesWithSplines, N as AcyclicOrientation, O as placeNodesInLayers, P as CrossingMinimizer, Q as LayeredAdvancedOptions, R as LayerAssigner, S as breakCyclesWithModelOrderBreadthFirstSearch, T as minimizeCrossingsWithBarycenter, U as LayeredSpacing, V as LayeredLayoutOptions, W as LayeredStrategies, X as CycleBreakingStrategy, Y as CrossingMinimizationStrategy, Z as EdgeRoutingStyle, _ as breakCyclesByStronglyConnectedNodeType, a as placeNodesWithBrandesKoepf, at as ElkLayeredOptionName, b as breakCyclesInteractively, c as assignLayersWithNetworkSimplex, d as assignLayersByLongestPath, et as NodePlacementStrategy, f as assignLayersByLongestPathToSink, g as breakCyclesByStronglyConnectedConnectivity, h as breakCyclesByModelOrder, i as placeNodesWithLinearSegments, it as ElkLayeredOptionId, j as routeEdgesWithPolylines, k as placeNodesInteractively, l as assignLayersByBreadthFirstModelOrder, m as assignLayersWithCoffmanGraham, n as layeredAlgorithm, nt as toElkLayeredOptions, o as assignLayersWithStretchWidth, ot as ElkLayeredOptionValueByName, p as assignLayersInteractively, q as NodePlacer, r as placeNodesWithNetworkSimplex, rt as elkLayeredEnumValues, s as assignLayersWithMinWidth, st as elkLayeredOptionDefinitions, t as getLayeredLayout, tt as fromElkLayeredOptionId, u as assignLayersByDepthFirstModelOrder, v as breakCyclesGreedily, w as minimizeCrossingsInteractively, x as breakCyclesWithDepthFirstSearch, y as breakCyclesGreedilyByModelOrder, z as LayerAssignment } from "../index-D2RodsZY.mjs";
1
+ import { $ as LayeringStrategy, A as routeEdgesOrthogonally, B as LayerOrder, C as breakCyclesWithModelOrderDepthFirstSearch, D as minimizeCrossingsWithModelOrder, E as minimizeCrossingsWithMedian, F as CycleBreaker, G as LayoutPadding, H as LayeredPhaseInput, I as EdgeRouter, J as NodeSize, K as NodePlacement, L as EdgeRoutes, M as routeEdgesWithSplines, N as AcyclicOrientation, O as placeNodesInLayers, P as CrossingMinimizer, Q as LayeredAdvancedOptions, R as LayerAssigner, S as breakCyclesWithModelOrderBreadthFirstSearch, T as minimizeCrossingsWithBarycenter, U as LayeredSpacing, V as LayeredLayoutOptions, W as LayeredStrategies, X as CycleBreakingStrategy, Y as CrossingMinimizationStrategy, Z as EdgeRoutingStyle, _ as breakCyclesByStronglyConnectedNodeType, a as placeNodesWithBrandesKoepf, at as ElkLayeredOptionName, b as breakCyclesInteractively, c as assignLayersWithNetworkSimplex, d as assignLayersByLongestPath, et as NodePlacementStrategy, f as assignLayersByLongestPathToSink, g as breakCyclesByStronglyConnectedConnectivity, h as breakCyclesByModelOrder, i as placeNodesWithLinearSegments, it as ElkLayeredOptionId, j as routeEdgesWithPolylines, k as placeNodesInteractively, l as assignLayersByBreadthFirstModelOrder, m as assignLayersWithCoffmanGraham, n as layeredAlgorithm, nt as toElkLayeredOptions, o as assignLayersWithStretchWidth, ot as ElkLayeredOptionValueByName, p as assignLayersInteractively, q as NodePlacer, r as placeNodesWithNetworkSimplex, rt as elkLayeredEnumValues, s as assignLayersWithMinWidth, st as elkLayeredOptionDefinitions, t as getLayeredLayout, tt as fromElkLayeredOptionId, u as assignLayersByDepthFirstModelOrder, v as breakCyclesGreedily, w as minimizeCrossingsInteractively, x as breakCyclesWithDepthFirstSearch, y as breakCyclesGreedilyByModelOrder, z as LayerAssignment } from "../index-8xYkohbz.mjs";
2
2
  export { AcyclicOrientation, CrossingMinimizationStrategy, CrossingMinimizer, CycleBreaker, CycleBreakingStrategy, EdgeRouter, EdgeRoutes, EdgeRoutingStyle, ElkLayeredOptionId, ElkLayeredOptionName, ElkLayeredOptionValueByName, LayerAssigner, LayerAssignment, LayerOrder, LayeredAdvancedOptions, LayeredLayoutOptions, LayeredPhaseInput, LayeredSpacing, LayeredStrategies, LayeringStrategy, LayoutPadding, NodePlacement, NodePlacementStrategy, NodePlacer, NodeSize, assignLayersByBreadthFirstModelOrder, assignLayersByDepthFirstModelOrder, assignLayersByLongestPath, assignLayersByLongestPathToSink, assignLayersInteractively, assignLayersWithCoffmanGraham, assignLayersWithMinWidth, assignLayersWithNetworkSimplex, assignLayersWithStretchWidth, breakCyclesByModelOrder, breakCyclesByStronglyConnectedConnectivity, breakCyclesByStronglyConnectedNodeType, breakCyclesGreedily, breakCyclesGreedilyByModelOrder, breakCyclesInteractively, breakCyclesWithDepthFirstSearch, breakCyclesWithModelOrderBreadthFirstSearch, breakCyclesWithModelOrderDepthFirstSearch, elkLayeredEnumValues, elkLayeredOptionDefinitions, fromElkLayeredOptionId, getLayeredLayout, layeredAlgorithm, minimizeCrossingsInteractively, minimizeCrossingsWithBarycenter, minimizeCrossingsWithMedian, minimizeCrossingsWithModelOrder, placeNodesInLayers, placeNodesInteractively, placeNodesWithBrandesKoepf, placeNodesWithLinearSegments, placeNodesWithNetworkSimplex, routeEdgesOrthogonally, routeEdgesWithPolylines, routeEdgesWithSplines, toElkLayeredOptions };
@@ -1,3 +1,3 @@
1
- import { A as minimizeCrossingsWithBarycenter, C as breakCyclesGreedilyByModelOrder, D as breakCyclesWithModelOrderDepthFirstSearch, E as breakCyclesWithModelOrderBreadthFirstSearch, I as routeEdgesOrthogonally, L as routeEdgesWithPolylines, M as minimizeCrossingsWithModelOrder, N as placeNodesInLayers, P as placeNodesInteractively, R as routeEdgesWithSplines, S as breakCyclesGreedily, T as breakCyclesWithDepthFirstSearch, _ as assignLayersInteractively, a as elkLayeredEnumValues, b as breakCyclesByStronglyConnectedConnectivity, c as placeNodesWithLinearSegments, d as assignLayersWithMinWidth, f as assignLayersWithNetworkSimplex, g as assignLayersByLongestPathToSink, h as assignLayersByLongestPath, i as toElkLayeredOptions, j as minimizeCrossingsWithMedian, k as minimizeCrossingsInteractively, l as placeNodesWithBrandesKoepf, m as assignLayersByDepthFirstModelOrder, n as layeredAlgorithm, o as elkLayeredOptionDefinitions, p as assignLayersByBreadthFirstModelOrder, r as fromElkLayeredOptionId, s as placeNodesWithNetworkSimplex, t as getLayeredLayout, u as assignLayersWithStretchWidth, v as assignLayersWithCoffmanGraham, w as breakCyclesInteractively, x as breakCyclesByStronglyConnectedNodeType, y as breakCyclesByModelOrder } from "../layered-Dd868WZY.mjs";
1
+ import { A as minimizeCrossingsWithBarycenter, C as breakCyclesGreedilyByModelOrder, D as breakCyclesWithModelOrderDepthFirstSearch, E as breakCyclesWithModelOrderBreadthFirstSearch, I as routeEdgesOrthogonally, L as routeEdgesWithPolylines, M as minimizeCrossingsWithModelOrder, N as placeNodesInLayers, P as placeNodesInteractively, R as routeEdgesWithSplines, S as breakCyclesGreedily, T as breakCyclesWithDepthFirstSearch, _ as assignLayersInteractively, a as elkLayeredEnumValues, b as breakCyclesByStronglyConnectedConnectivity, c as placeNodesWithLinearSegments, d as assignLayersWithMinWidth, f as assignLayersWithNetworkSimplex, g as assignLayersByLongestPathToSink, h as assignLayersByLongestPath, i as toElkLayeredOptions, j as minimizeCrossingsWithMedian, k as minimizeCrossingsInteractively, l as placeNodesWithBrandesKoepf, m as assignLayersByDepthFirstModelOrder, n as layeredAlgorithm, o as elkLayeredOptionDefinitions, p as assignLayersByBreadthFirstModelOrder, r as fromElkLayeredOptionId, s as placeNodesWithNetworkSimplex, t as getLayeredLayout, u as assignLayersWithStretchWidth, v as assignLayersWithCoffmanGraham, w as breakCyclesInteractively, x as breakCyclesByStronglyConnectedNodeType, y as breakCyclesByModelOrder } from "../layered-f_3mmGHr.mjs";
2
2
 
3
3
  export { assignLayersByBreadthFirstModelOrder, assignLayersByDepthFirstModelOrder, assignLayersByLongestPath, assignLayersByLongestPathToSink, assignLayersInteractively, assignLayersWithCoffmanGraham, assignLayersWithMinWidth, assignLayersWithNetworkSimplex, assignLayersWithStretchWidth, breakCyclesByModelOrder, breakCyclesByStronglyConnectedConnectivity, breakCyclesByStronglyConnectedNodeType, breakCyclesGreedily, breakCyclesGreedilyByModelOrder, breakCyclesInteractively, breakCyclesWithDepthFirstSearch, breakCyclesWithModelOrderBreadthFirstSearch, breakCyclesWithModelOrderDepthFirstSearch, elkLayeredEnumValues, elkLayeredOptionDefinitions, fromElkLayeredOptionId, getLayeredLayout, layeredAlgorithm, minimizeCrossingsInteractively, minimizeCrossingsWithBarycenter, minimizeCrossingsWithMedian, minimizeCrossingsWithModelOrder, placeNodesInLayers, placeNodesInteractively, placeNodesWithBrandesKoepf, placeNodesWithLinearSegments, placeNodesWithNetworkSimplex, routeEdgesOrthogonally, routeEdgesWithPolylines, routeEdgesWithSplines, toElkLayeredOptions };