@focus.matters/diagrams 0.0.9 → 0.0.10

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 (148) hide show
  1. package/dist/{DirectedPoint-HRgiLZeU.js → DirectedPoint-aLZ8iXbb.js} +2 -2
  2. package/dist/DirectedPoint-aLZ8iXbb.js.map +1 -0
  3. package/dist/diagrams.css +1 -1
  4. package/dist/{index-DZNvKq1b.js → index-B_tKoJcy.js} +2535 -1963
  5. package/dist/{index-DZNvKq1b.js.map → index-B_tKoJcy.js.map} +1 -1
  6. package/dist/index.d.ts +1 -8
  7. package/dist/index.es.js +1 -1
  8. package/dist/index.umd.js +4 -4
  9. package/dist/index.umd.js.map +1 -1
  10. package/dist/src/Diagrams/components/objects/CustomRenderers.d.ts +4 -0
  11. package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/debugEdges.d.ts +4 -4
  12. package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/types.d.ts +1 -1
  13. package/dist/src/Diagrams/components/objects/ScreenRenderers.d.ts +4 -0
  14. package/dist/{Diagrams → src/Diagrams}/components/objects/Shape.d.ts +3 -3
  15. package/dist/{Diagrams → src/Diagrams}/components/objects/customRendererProps.d.ts +1 -1
  16. package/dist/src/Diagrams/components/objects/screenRendererProps.d.ts +18 -0
  17. package/dist/{Diagrams → src/Diagrams}/custom/agent/edges/AgentEdge.d.ts +1 -1
  18. package/dist/{Diagrams → src/Diagrams}/custom/agent/nodes/ActionNode.d.ts +1 -1
  19. package/dist/{Diagrams → src/Diagrams}/custom/agent/nodes/AgentNode.d.ts +1 -1
  20. package/dist/{Diagrams → src/Diagrams}/custom/agent/nodes/ConditionNode.d.ts +1 -1
  21. package/dist/{Diagrams → src/Diagrams}/custom/agent/nodes/OutcomeNode.d.ts +1 -1
  22. package/dist/{Diagrams → src/Diagrams}/custom/agent/nodes/TriggerNode.d.ts +1 -1
  23. package/dist/{Diagrams → src/Diagrams}/custom/agent/types.d.ts +6 -6
  24. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNGridSnap.d.ts +21 -0
  25. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNLaneResizer.d.ts +20 -0
  26. package/dist/{Diagrams → src/Diagrams}/custom/bpmn/nodes/EventNode.d.ts +4 -2
  27. package/dist/{Diagrams → src/Diagrams}/custom/bpmn/nodes/GateNode.d.ts +4 -2
  28. package/dist/src/Diagrams/custom/bpmn/nodes/Lanes/LaneScreenRenderer.d.ts +6 -0
  29. package/dist/src/Diagrams/custom/bpmn/nodes/Lanes/index.d.ts +107 -0
  30. package/dist/{Diagrams → src/Diagrams}/custom/bpmn/nodes/TaskNode.d.ts +1 -1
  31. package/dist/{Diagrams → src/Diagrams}/custom/bpmn/nodes/UnknownBPMNNode.d.ts +2 -2
  32. package/dist/{Diagrams → src/Diagrams}/custom/communication/edges/CommunicationEdge.d.ts +1 -1
  33. package/dist/{Diagrams → src/Diagrams}/custom/communication/nodes/CommunicationActorNode.d.ts +1 -1
  34. package/dist/{Diagrams → src/Diagrams}/custom/communication/nodes/CommunicationControllerNode.d.ts +1 -1
  35. package/dist/{Diagrams → src/Diagrams}/custom/communication/nodes/CommunicationObjectNode.d.ts +1 -1
  36. package/dist/src/Diagrams/custom/communication/types.d.ts +1 -0
  37. package/dist/src/Diagrams/custom/editable/EditableLabel.d.ts +8 -0
  38. package/dist/{Diagrams → src/Diagrams}/custom/editable/EditableNode.d.ts +2 -2
  39. package/dist/{Diagrams → src/Diagrams}/store/elements/Edge.d.ts +2 -2
  40. package/dist/{Diagrams → src/Diagrams}/store/elements/EdgePoint.d.ts +4 -4
  41. package/dist/{Diagrams → src/Diagrams}/store/elements/Events.d.ts +6 -6
  42. package/dist/{Diagrams → src/Diagrams}/store/elements/Gateway.d.ts +3 -3
  43. package/dist/{Diagrams → src/Diagrams}/store/elements/Node.d.ts +11 -3
  44. package/dist/{Diagrams → src/Diagrams}/store/extensions/Creator.d.ts +1 -1
  45. package/dist/{Diagrams → src/Diagrams}/store/extensions/Dragger.d.ts +1 -1
  46. package/dist/{Diagrams → src/Diagrams}/store/extensions/EdgesDragger.d.ts +23 -23
  47. package/dist/src/Diagrams/store/extensions/NodesAligner.d.ts +39 -0
  48. package/dist/{Diagrams → src/Diagrams}/store/extensions/Selector.d.ts +1 -1
  49. package/dist/{Diagrams → src/Diagrams}/store/primitives/Coordinates.d.ts +1 -1
  50. package/dist/{Diagrams → src/Diagrams}/store/types.d.ts +4 -4
  51. package/dist/src/Diagrams/util/Autopan.d.ts +14 -0
  52. package/dist/{Diagrams → src/Diagrams}/util/bpmn/types.d.ts +1 -1
  53. package/dist/src/index.d.ts +8 -0
  54. package/package.json +1 -1
  55. package/dist/Diagrams/components/objects/CustomRenderers.d.ts +0 -6
  56. package/dist/Diagrams/custom/bpmn/nodes/Lanes/LanesResizer.d.ts +0 -6
  57. package/dist/Diagrams/custom/bpmn/nodes/Lanes/index.d.ts +0 -66
  58. package/dist/Diagrams/custom/communication/types.d.ts +0 -1
  59. package/dist/Diagrams/custom/editable/EditableLabel.d.ts +0 -3
  60. package/dist/Diagrams/custom/editable/EditableNodeContext.d.ts +0 -3
  61. package/dist/Diagrams/store/extensions/NodesAligner.d.ts +0 -19
  62. package/dist/DirectedPoint-HRgiLZeU.js.map +0 -1
  63. /package/dist/{Diagrams → src/Diagrams}/DiagramEditor.d.ts +0 -0
  64. /package/dist/{Diagrams → src/Diagrams}/components/Canvas.d.ts +0 -0
  65. /package/dist/{Diagrams → src/Diagrams}/components/extra/AlignmentSuggestions.d.ts +0 -0
  66. /package/dist/{Diagrams → src/Diagrams}/components/extra/GatewayRender.d.ts +0 -0
  67. /package/dist/{Diagrams → src/Diagrams}/components/extra/Measurement.d.ts +0 -0
  68. /package/dist/{Diagrams → src/Diagrams}/components/extra/MouseTracker.d.ts +0 -0
  69. /package/dist/{Diagrams → src/Diagrams}/components/extra/NodesConnectorRenderer.d.ts +0 -0
  70. /package/dist/{Diagrams → src/Diagrams}/components/extra/PathFindingRenderer.d.ts +0 -0
  71. /package/dist/{Diagrams → src/Diagrams}/components/extra/Selection.d.ts +0 -0
  72. /package/dist/{Diagrams → src/Diagrams}/components/extra/Stats.d.ts +0 -0
  73. /package/dist/{Diagrams → src/Diagrams}/components/extra/Svg.d.ts +0 -0
  74. /package/dist/{Diagrams → src/Diagrams}/components/extra/Theme.d.ts +0 -0
  75. /package/dist/{Diagrams → src/Diagrams}/components/extra/ToolsState.d.ts +0 -0
  76. /package/dist/{Diagrams → src/Diagrams}/components/nodes/NodeTools.d.ts +0 -0
  77. /package/dist/{Diagrams → src/Diagrams}/components/objects/Cross.d.ts +0 -0
  78. /package/dist/{Diagrams → src/Diagrams}/components/objects/Grid.d.ts +0 -0
  79. /package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/EdgeMarker.d.ts +0 -0
  80. /package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/EdgeMidpoints.d.ts +0 -0
  81. /package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/index.d.ts +0 -0
  82. /package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/util.d.ts +0 -0
  83. /package/dist/{Diagrams → src/Diagrams}/components/objects/Shapes.d.ts +0 -0
  84. /package/dist/{Diagrams → src/Diagrams}/components/objects/makeScalableComponent.d.ts +0 -0
  85. /package/dist/{Diagrams → src/Diagrams}/context-menu/ContextMenu.d.ts +0 -0
  86. /package/dist/{Diagrams → src/Diagrams}/context-menu/buildDiagramContextMenu.d.ts +0 -0
  87. /package/dist/{Diagrams → src/Diagrams}/context-menu/index.d.ts +0 -0
  88. /package/dist/{Diagrams → src/Diagrams}/context-menu/types.d.ts +0 -0
  89. /package/dist/{Diagrams → src/Diagrams}/custom/agent/AgentDiagram.d.ts +0 -0
  90. /package/dist/{Diagrams → src/Diagrams}/custom/agent/index.d.ts +0 -0
  91. /package/dist/{Diagrams → src/Diagrams}/custom/bpmn/BPMDiagram.d.ts +0 -0
  92. /package/dist/{Diagrams → src/Diagrams}/custom/bpmn/bpmnEvents.d.ts +0 -0
  93. /package/dist/{Diagrams → src/Diagrams}/custom/bpmn/edges/EdgeWithLoad.d.ts +0 -0
  94. /package/dist/{Diagrams → src/Diagrams}/custom/bpmn/nodes/BPMNNodeContext.d.ts +0 -0
  95. /package/dist/{Diagrams → src/Diagrams}/custom/bpmn/nodes/BPMNode.d.ts +0 -0
  96. /package/dist/{Diagrams → src/Diagrams}/custom/communication/CommunicationDiagram.d.ts +0 -0
  97. /package/dist/{Diagrams → src/Diagrams}/custom/communication/CommunicationNode.d.ts +0 -0
  98. /package/dist/{Diagrams → src/Diagrams}/custom/editable/EditableDiagram.d.ts +0 -0
  99. /package/dist/{Diagrams → src/Diagrams}/custom/editable/EditionMode.d.ts +0 -0
  100. /package/dist/{Diagrams → src/Diagrams}/custom/editable/events.d.ts +0 -0
  101. /package/dist/{Diagrams → src/Diagrams}/layout/HStack.d.ts +0 -0
  102. /package/dist/{Diagrams → src/Diagrams}/store/Canvas.d.ts +0 -0
  103. /package/dist/{Diagrams → src/Diagrams}/store/Diagram.d.ts +0 -0
  104. /package/dist/{Diagrams → src/Diagrams}/store/elements/Element.d.ts +0 -0
  105. /package/dist/{Diagrams → src/Diagrams}/store/elements/EventsMouseInformation.d.ts +0 -0
  106. /package/dist/{Diagrams → src/Diagrams}/store/elements/TextNode.d.ts +0 -0
  107. /package/dist/{Diagrams → src/Diagrams}/store/extensions/Debugger.d.ts +0 -0
  108. /package/dist/{Diagrams → src/Diagrams}/store/extensions/DiagramExtension.d.ts +0 -0
  109. /package/dist/{Diagrams → src/Diagrams}/store/extensions/DistancesBalancer.d.ts +0 -0
  110. /package/dist/{Diagrams → src/Diagrams}/store/extensions/GridSnap.d.ts +0 -0
  111. /package/dist/{Diagrams → src/Diagrams}/store/extensions/History.d.ts +0 -0
  112. /package/dist/{Diagrams → src/Diagrams}/store/extensions/Hotkeys.d.ts +0 -0
  113. /package/dist/{Diagrams → src/Diagrams}/store/extensions/Measurer.d.ts +0 -0
  114. /package/dist/{Diagrams → src/Diagrams}/store/extensions/NodesConnector.d.ts +0 -0
  115. /package/dist/{Diagrams → src/Diagrams}/store/extensions/NodesResizer.d.ts +0 -0
  116. /package/dist/{Diagrams → src/Diagrams}/store/extensions/PathFindingRenderer.d.ts +0 -0
  117. /package/dist/{Diagrams → src/Diagrams}/store/extensions/Priorities.d.ts +0 -0
  118. /package/dist/{Diagrams → src/Diagrams}/store/extensions/Rules.d.ts +0 -0
  119. /package/dist/{Diagrams → src/Diagrams}/store/extensions/StraightDrag.d.ts +0 -0
  120. /package/dist/{Diagrams → src/Diagrams}/store/primitives/Dimensions.d.ts +0 -0
  121. /package/dist/{Diagrams → src/Diagrams}/store/primitives/DirectedPoint.d.ts +0 -0
  122. /package/dist/{Diagrams → src/Diagrams}/util/ClassList.d.ts +0 -0
  123. /package/dist/{Diagrams → src/Diagrams}/util/Mouse.d.ts +0 -0
  124. /package/dist/{Diagrams → src/Diagrams}/util/Mutex.d.ts +0 -0
  125. /package/dist/{Diagrams → src/Diagrams}/util/PriorityQueue.d.ts +0 -0
  126. /package/dist/{Diagrams → src/Diagrams}/util/Semaphore.d.ts +0 -0
  127. /package/dist/{Diagrams → src/Diagrams}/util/TasksQueue.d.ts +0 -0
  128. /package/dist/{Diagrams → src/Diagrams}/util/arrayOrArray.d.ts +0 -0
  129. /package/dist/{Diagrams → src/Diagrams}/util/awaitTime.d.ts +0 -0
  130. /package/dist/{Diagrams → src/Diagrams}/util/binders.d.ts +0 -0
  131. /package/dist/{Diagrams → src/Diagrams}/util/bpmn/applyBPMNImportPlan.d.ts +0 -0
  132. /package/dist/{Diagrams → src/Diagrams}/util/bpmn/buildBPMNImportPlan.d.ts +0 -0
  133. /package/dist/{Diagrams → src/Diagrams}/util/bpmn/importBPMNXmlIntoDiagram.d.ts +0 -0
  134. /package/dist/{Diagrams → src/Diagrams}/util/bpmn/index.d.ts +0 -0
  135. /package/dist/{Diagrams → src/Diagrams}/util/bpmn/parseBPMNXml.d.ts +0 -0
  136. /package/dist/{Diagrams → src/Diagrams}/util/cloneDeep.d.ts +0 -0
  137. /package/dist/{Diagrams → src/Diagrams}/util/downloadFile.d.ts +0 -0
  138. /package/dist/{Diagrams → src/Diagrams}/util/getEnumStr.d.ts +0 -0
  139. /package/dist/{Diagrams → src/Diagrams}/util/getIdForNode.d.ts +0 -0
  140. /package/dist/{Diagrams → src/Diagrams}/util/getUniqueId.d.ts +0 -0
  141. /package/dist/{Diagrams → src/Diagrams}/util/insertSorted.d.ts +0 -0
  142. /package/dist/{Diagrams → src/Diagrams}/util/paths/PathsGrid.d.ts +0 -0
  143. /package/dist/{Diagrams → src/Diagrams}/util/paths/findBestPathBetweenNodes.d.ts +0 -0
  144. /package/dist/{Diagrams → src/Diagrams}/util/paths/orthogonalRouter.d.ts +0 -0
  145. /package/dist/{Diagrams → src/Diagrams}/util/paths/stepBackFromGateway.d.ts +0 -0
  146. /package/dist/{Diagrams → src/Diagrams}/util/readFile.d.ts +0 -0
  147. /package/dist/{Diagrams → src/Diagrams}/util/shapes.d.ts +0 -0
  148. /package/dist/{Diagrams → src/Diagrams}/util/throttle.d.ts +0 -0
@@ -0,0 +1,4 @@
1
+ /** Renders every node-owned overlay inside the CSS-scaled canvas surface. */
2
+ export declare const RenderNodeOverlays: (() => import("react").JSX.Element) & {
3
+ displayName: string;
4
+ };
@@ -1,14 +1,14 @@
1
1
  import { Edge } from '../../../store/elements/Edge';
2
2
  import { Midpoint } from './types';
3
3
  type DebugClickTarget = {
4
- type: 'edge';
4
+ type: "edge";
5
5
  } | {
6
- type: 'drag-point';
6
+ type: "drag-point";
7
7
  midpoint: Midpoint;
8
8
  renderedIndex: number;
9
9
  } | {
10
- type: 'endpoint';
11
- endpoint: 'from' | 'to';
10
+ type: "endpoint";
11
+ endpoint: "from" | "to";
12
12
  };
13
13
  export declare function copyEdgeDebugToClipboard(edge: Edge | undefined, target: DebugClickTarget): void;
14
14
  export {};
@@ -18,7 +18,7 @@ export interface RenderEdgeProps {
18
18
  lineStyle?: EdgeLineStyle;
19
19
  draggable?: boolean;
20
20
  onMidpointMouseDown?: (p: Midpoint, ev: React.MouseEvent) => void;
21
- onEndpointMouseDown?: (endpoint: 'from' | 'to', ev: React.MouseEvent) => void;
21
+ onEndpointMouseDown?: (endpoint: "from" | "to", ev: React.MouseEvent) => void;
22
22
  }
23
23
  export declare class Midpoint extends Coordinates {
24
24
  id: string;
@@ -0,0 +1,4 @@
1
+ /** Renders node-owned screen content outside the transformed canvas surface. */
2
+ export declare const RenderNodeScreens: (() => import("react").JSX.Element) & {
3
+ displayName: string;
4
+ };
@@ -3,8 +3,8 @@ import { Coordinates } from '../../store/primitives/Coordinates';
3
3
  /**
4
4
  * Estilo del borde: sólido, rayado o punteado.
5
5
  */
6
- export type StrokeStyle = 'solid' | 'dashed' | 'dotted';
7
- export type ArrowPosition = 'start' | 'end' | 'both';
6
+ export type StrokeStyle = "solid" | "dashed" | "dotted";
7
+ export type ArrowPosition = "start" | "end" | "both";
8
8
  export interface ArrowSpec {
9
9
  position?: ArrowPosition;
10
10
  size?: number;
@@ -41,7 +41,7 @@ export interface ShapeProps extends SVGProps<SVGGElement> {
41
41
  labelFontFamily?: string;
42
42
  labelOffset?: Coordinates;
43
43
  onMouseDown?: MouseEventHandler<SVGGElement>;
44
- 'data-id'?: string;
44
+ "data-id"?: string;
45
45
  children?: ReactNode;
46
46
  }
47
47
  declare const UnobservedShape: React.ForwardRefExoticComponent<Omit<ShapeProps, "ref"> & React.RefAttributes<any>>;
@@ -2,6 +2,6 @@ import { Node } from '../../store/elements/Node';
2
2
  type DivProps = React.DetailedHTMLProps<React.HTMLAttributes<any>, any> & {
3
3
  [key: `data-${string}`]: string | number | boolean | undefined;
4
4
  };
5
- export declare function customRendererStyles(node: Node<any>): React.DetailedHTMLProps<React.HTMLAttributes<any>, any>['style'];
5
+ export declare function customRendererStyles(node: Node<any>): React.DetailedHTMLProps<React.HTMLAttributes<any>, any>["style"];
6
6
  export declare function customRendererProps(node: Node<any>): DivProps;
7
7
  export {};
@@ -0,0 +1,18 @@
1
+ import { CSSProperties, HTMLAttributes } from 'react';
2
+ import { Node } from '../../store/elements/Node';
3
+ import { Dimensions } from '../../store/primitives/Dimensions';
4
+ type ScreenStyle = CSSProperties & {
5
+ "--screen-renderer-x": string;
6
+ "--screen-renderer-y": string;
7
+ "--screen-renderer-width": string;
8
+ "--screen-renderer-height": string;
9
+ "--screen-renderer-z-index": number;
10
+ "--screen-label-font-size"?: string;
11
+ };
12
+ type ScreenProps = HTMLAttributes<HTMLElement> & {
13
+ [key: `data-${string}`]: string | number | boolean | undefined;
14
+ style: ScreenStyle;
15
+ };
16
+ /** Builds stable world-coordinate properties for a screen-projected renderer. */
17
+ export declare function screenRendererProps(node: Node, box: Dimensions): ScreenProps;
18
+ export {};
@@ -5,7 +5,7 @@ import { AgentEdgeKind } from '../types';
5
5
  type AgentEdgeState = Partial<TEdgeState> & {
6
6
  kind?: AgentEdgeKind;
7
7
  };
8
- type AgentSerializedEdge = ReturnType<Edge['serialize']> & {
8
+ type AgentSerializedEdge = ReturnType<Edge["serialize"]> & {
9
9
  kind?: AgentEdgeKind;
10
10
  };
11
11
  export declare class AgentEdge extends Edge {
@@ -8,7 +8,7 @@ export declare class ActionNode extends AgentNode<ActionPayload> {
8
8
  payload?: Partial<ActionPayload>;
9
9
  });
10
10
  protected defaultPayload(): ActionPayload;
11
- protected Render: (() => import("react").JSX.Element) & {
11
+ RenderOverlay: (() => import("react").JSX.Element) & {
12
12
  displayName: string;
13
13
  };
14
14
  }
@@ -52,7 +52,7 @@ export declare abstract class AgentNode<TPayload> extends EditableNode {
52
52
  strokewWidth: number | undefined;
53
53
  class: string;
54
54
  };
55
- deserialize(o: ReturnType<(typeof this)['serialize']>): void;
55
+ deserialize(o: ReturnType<(typeof this)["serialize"]>): void;
56
56
  }
57
57
  export declare function isAgentNode(node: unknown): node is AgentNode<unknown>;
58
58
  export {};
@@ -8,7 +8,7 @@ export declare class ConditionNode extends AgentNode<ConditionPayload> {
8
8
  payload?: Partial<ConditionPayload>;
9
9
  });
10
10
  protected defaultPayload(): ConditionPayload;
11
- protected Render: (() => import("react").JSX.Element) & {
11
+ RenderOverlay: (() => import("react").JSX.Element) & {
12
12
  displayName: string;
13
13
  };
14
14
  }
@@ -8,7 +8,7 @@ export declare class OutcomeNode extends AgentNode<OutcomePayload> {
8
8
  payload?: Partial<OutcomePayload>;
9
9
  });
10
10
  protected defaultPayload(): OutcomePayload;
11
- protected Render: (() => import("react").JSX.Element) & {
11
+ RenderOverlay: (() => import("react").JSX.Element) & {
12
12
  displayName: string;
13
13
  };
14
14
  }
@@ -8,7 +8,7 @@ export declare class TriggerNode extends AgentNode<TriggerPayload> {
8
8
  payload?: Partial<TriggerPayload>;
9
9
  });
10
10
  protected defaultPayload(): TriggerPayload;
11
- protected Render: (() => import("react").JSX.Element) & {
11
+ RenderOverlay: (() => import("react").JSX.Element) & {
12
12
  displayName: string;
13
13
  };
14
14
  }
@@ -1,16 +1,16 @@
1
1
  import { TOrientation } from '../../store/types';
2
- export type AgentNodeKind = 'trigger' | 'action' | 'condition' | 'outcome';
3
- export type AgentEdgeKind = 'default' | 'condition-true' | 'condition-false' | 'trigger';
2
+ export type AgentNodeKind = "trigger" | "action" | "condition" | "outcome";
3
+ export type AgentEdgeKind = "default" | "condition-true" | "condition-false" | "trigger";
4
4
  export type AgentMetadata = Record<string, string | number | boolean>;
5
5
  export type TriggerPayload = {
6
- triggerType: 'manual' | 'event' | 'schedule';
6
+ triggerType: "manual" | "event" | "schedule";
7
7
  source: string;
8
8
  eventName: string;
9
9
  schedule: string;
10
10
  metadata?: AgentMetadata;
11
11
  };
12
12
  export type ActionPayload = {
13
- actionType: 'task' | 'api' | 'notification' | 'human';
13
+ actionType: "task" | "api" | "notification" | "human";
14
14
  operation: string;
15
15
  inputRef: string;
16
16
  outputRef: string;
@@ -18,13 +18,13 @@ export type ActionPayload = {
18
18
  };
19
19
  export type ConditionPayload = {
20
20
  expression: string;
21
- language: 'rule' | 'javascript' | 'jsonpath';
21
+ language: "rule" | "javascript" | "jsonpath";
22
22
  trueLabel: string;
23
23
  falseLabel: string;
24
24
  metadata?: AgentMetadata;
25
25
  };
26
26
  export type OutcomePayload = {
27
- status: 'success' | 'failure' | 'neutral';
27
+ status: "success" | "failure" | "neutral";
28
28
  code: string;
29
29
  summary: string;
30
30
  metadata?: AgentMetadata;
@@ -0,0 +1,21 @@
1
+ import { DiagramExtension } from '../../../store/extensions/DiagramExtension';
2
+ import { Lanes } from '../nodes/Lanes';
3
+ type TBPMNResize = {
4
+ width: number;
5
+ } | {
6
+ laneId: string;
7
+ height: number;
8
+ };
9
+ /**
10
+ * Applies BPMN-specific grid constraints to lane width and height resizing.
11
+ */
12
+ export declare class BPMNGridSnap extends DiagramExtension {
13
+ /** Initializes the extension, whose resize constraints are invoked by BPMN tools. */
14
+ init(): void;
15
+ /** Applies minimum sizes and optional grid snapping to a BPMN lane resize. */
16
+ resize(lanes: Lanes, resize: TBPMNResize): void;
17
+ private constrain;
18
+ private getLaneSuggestions;
19
+ private getHorizontalLaneSuggestions;
20
+ }
21
+ export {};
@@ -0,0 +1,20 @@
1
+ import { DiagramExtension } from '../../../store/extensions/DiagramExtension';
2
+ import { Lanes } from '../nodes/Lanes';
3
+ /**
4
+ * Owns BPMN lane resize sessions, including grid constraints and auto-panning.
5
+ */
6
+ export declare class BPMNLaneResizer extends DiagramExtension {
7
+ private readonly autopan;
8
+ private session;
9
+ private unbindSession;
10
+ /** Initializes the imperative extension consumed by the lane screen renderer. */
11
+ init(): void;
12
+ /** Starts resizing the complete lane container from its right-side handle. */
13
+ resizeWidth(lanes: Lanes, event: MouseEvent): void;
14
+ /** Starts resizing one BPMN lane from its horizontal lower-edge handle. */
15
+ resizeHeight(lanes: Lanes, laneId: string, initialHeight: number, event: MouseEvent): void;
16
+ private startSession;
17
+ private handleMouseMove;
18
+ private handleAutopan;
19
+ private endSession;
20
+ }
@@ -1,6 +1,7 @@
1
1
  import { Element } from '../../../store/elements/Element';
2
2
  import { TNodeConstructorProps } from '../../../store/elements/Node';
3
3
  import { BPMNode } from './BPMNode';
4
+ import { Dimensions } from '../../../store/primitives/Dimensions';
4
5
  export declare enum EventTypes {
5
6
  start = 0,
6
7
  end = 1,
@@ -51,8 +52,9 @@ export declare class EventNode extends BPMNode {
51
52
  strokewWidth: number | undefined;
52
53
  class: string;
53
54
  };
54
- deserialize(o: ReturnType<this['serialize']>): void;
55
- protected Render: (() => import("react").JSX.Element) & {
55
+ deserialize(o: ReturnType<this["serialize"]>): void;
56
+ protected get screenLabelBox(): Dimensions;
57
+ RenderOverlay: (() => import("react").JSX.Element) & {
56
58
  displayName: string;
57
59
  };
58
60
  }
@@ -1,6 +1,7 @@
1
1
  import { Element } from '../../../store/elements/Element';
2
2
  import { TNodeConstructorProps } from '../../../store/elements/Node';
3
3
  import { BPMNode } from './BPMNode';
4
+ import { Dimensions } from '../../../store/primitives/Dimensions';
4
5
  export declare enum GateTypes {
5
6
  inclusive = 0,
6
7
  exclusive = 1,
@@ -51,8 +52,9 @@ export declare class GateNode extends BPMNode {
51
52
  strokewWidth: number | undefined;
52
53
  class: string;
53
54
  };
54
- deserialize(o: ReturnType<this['serialize']>): void;
55
- protected Render: (() => import("react").JSX.Element) & {
55
+ deserialize(o: ReturnType<this["serialize"]>): void;
56
+ protected get screenLabelBox(): Dimensions;
57
+ RenderOverlay: (() => import("react").JSX.Element) & {
56
58
  displayName: string;
57
59
  };
58
60
  }
@@ -0,0 +1,6 @@
1
+ import { TNodeScreenRenderProps } from '../../../../store/elements/Node';
2
+ import { Lanes } from '.';
3
+ /** Renders crisp lane labels and contextual controls in viewport coordinates. */
4
+ export declare const LaneScreenRenderer: (({ node: lanes }: TNodeScreenRenderProps<Lanes>) => import("react").JSX.Element) & {
5
+ displayName: string;
6
+ };
@@ -0,0 +1,107 @@
1
+ import { FC } from 'react';
2
+ import { BPMNode } from '../BPMNode';
3
+ import { Element } from '../../../../store/elements/Element';
4
+ import { Dimensions } from '../../../../store/primitives/Dimensions';
5
+ type TPool = {
6
+ name: string;
7
+ label: string;
8
+ height: number;
9
+ children: TPool[];
10
+ };
11
+ type TLaneLayout = {
12
+ lane: TPool;
13
+ depth: number;
14
+ y: number;
15
+ height: number;
16
+ siblingCount: number;
17
+ };
18
+ /**
19
+ * Models and renders a resizable hierarchy of BPMN lanes and their controls.
20
+ */
21
+ export declare class Lanes extends BPMNode {
22
+ static readonly laneHeaderWidth = 50;
23
+ static readonly laneHeight = 250;
24
+ static readonly laneHeaderFontSize = 14;
25
+ static readonly minimumLaneHeight = 150;
26
+ static readonly minimumWidthInGrids = 10;
27
+ constructor(parent: Element | null, state: {
28
+ id: string;
29
+ });
30
+ /** Returns bounds that exactly match the rendered lane hierarchy. */
31
+ get box(): Dimensions;
32
+ /** Returns every visible lane with its depth and absolute vertical geometry. */
33
+ get laneLayouts(): TLaneLayout[];
34
+ get editingLaneId(): string | null;
35
+ private nextPool;
36
+ /** Appends one root lane and returns it for existing programmatic callers. */
37
+ addPool(): TPool;
38
+ /** Inserts a sibling immediately before or after the referenced visible lane. */
39
+ insertLane(referenceId: string, position: "before" | "after"): void;
40
+ /** Replaces a leaf with two children while preserving its previous total height. */
41
+ subdivideLane(id: string): void;
42
+ /** Collapses all descendants back into their parent without changing total height. */
43
+ removeSubdivision(id: string): void;
44
+ /** Removes one lane only when its hierarchy level retains at least one sibling. */
45
+ removeLane(id: string): void;
46
+ /** Resizes a lane while enforcing one task box plus one grid of total padding. */
47
+ resizeLane(id: string, height: number, gridSize?: number): void;
48
+ /** Starts label editing for one lane through either screen or keyboard actions. */
49
+ renameLane(id: string): void;
50
+ protected editionLaneId: string | null;
51
+ protected previousPools: TPool[];
52
+ /** Restores the complete tree that existed before the current edit session. */
53
+ cancel(): void;
54
+ /** Commits labels and hierarchy changes made during the current edit session. */
55
+ confirm(): boolean;
56
+ /** Starts editing and snapshots the entire hierarchy for cancellation support. */
57
+ edit(): void;
58
+ /** Removes every root lane so importers can rebuild the hierarchy explicitly. */
59
+ resetPools(): void;
60
+ /** Restores the strictly hierarchical lane payload from serialized diagram data. */
61
+ deserialize(o: ReturnType<this["serialize"]>): void;
62
+ /** Serializes lane dimensions and descendants together with the base node state. */
63
+ serialize(): {
64
+ pools: TPool[];
65
+ box: [number, number, number, number];
66
+ id: string;
67
+ label: string;
68
+ movable: boolean | undefined;
69
+ selectable: boolean | undefined;
70
+ selected: boolean | undefined;
71
+ gateways: {
72
+ coordinates: [number, number];
73
+ fill: string | undefined;
74
+ id: string;
75
+ orientation: import('../../../../store/types').TOrientation;
76
+ radius: number;
77
+ stroke: string | undefined;
78
+ strokeWidth: number;
79
+ outEdges: {
80
+ arrowHeadEnd: import('../../../../store/types').EdgeArrowHead | undefined;
81
+ arrowHeadStart: import('../../../../store/types').EdgeArrowHead | undefined;
82
+ displacementEnd: [number, number] | undefined;
83
+ displacementStart: [number, number] | undefined;
84
+ lineStyle: import('../../../../store/types').EdgeLineStyle | undefined;
85
+ pathType: import('../../../../store/types').EdgePathType | undefined;
86
+ steps: import('../../../../store/elements/EdgePoint').TSerializedEdgePoint[];
87
+ stroke: string | undefined;
88
+ strokeWidth: number | undefined;
89
+ to: string;
90
+ toParentId: string;
91
+ class: string;
92
+ }[];
93
+ class: string;
94
+ }[];
95
+ fill: string | undefined;
96
+ labelFontSize: number | undefined;
97
+ stroke: string | undefined;
98
+ strokewWidth: number | undefined;
99
+ class: string;
100
+ };
101
+ pools: TPool[];
102
+ RenderScreen: (({ node: lanes }: import('../../../../store/elements/Node').TNodeScreenRenderProps<Lanes>) => import("react").JSX.Element) & {
103
+ displayName: string;
104
+ };
105
+ RenderOverlay: FC;
106
+ }
107
+ export {};
@@ -3,7 +3,7 @@ import { Element } from '../../../store/elements/Element';
3
3
  import { TNodeConstructorProps } from '../../../store/elements/Node';
4
4
  export declare class TaskNode extends BPMNode {
5
5
  constructor(parent: Element | null, state: TNodeConstructorProps);
6
- protected Render: (() => import("react").JSX.Element) & {
6
+ RenderOverlay: (() => import("react").JSX.Element) & {
7
7
  displayName: string;
8
8
  };
9
9
  }
@@ -44,8 +44,8 @@ export declare class UnknownBPMNNode extends BPMNode {
44
44
  strokewWidth: number | undefined;
45
45
  class: string;
46
46
  };
47
- deserialize(o: ReturnType<this['serialize']>): void;
48
- protected Render: (() => import("react").JSX.Element) & {
47
+ deserialize(o: ReturnType<this["serialize"]>): void;
48
+ RenderOverlay: (() => import("react").JSX.Element) & {
49
49
  displayName: string;
50
50
  };
51
51
  }
@@ -2,7 +2,7 @@ import { Edge } from '../../../store/elements/Edge';
2
2
  import { Element } from '../../../store/elements/Element';
3
3
  import { TEdgeState } from '../../../store/types';
4
4
  type CommunicationEdgeState = Partial<TEdgeState>;
5
- type SerializedCommunicationEdge = ReturnType<Edge['serialize']> & {
5
+ type SerializedCommunicationEdge = ReturnType<Edge["serialize"]> & {
6
6
  label?: string;
7
7
  labelPositioning?: [number, number];
8
8
  };
@@ -4,7 +4,7 @@ import { CommunicationNode } from '../CommunicationNode';
4
4
  export declare class CommunicationActorNode extends CommunicationNode {
5
5
  readonly communicationNodeType: "actor";
6
6
  constructor(parent: Element | null, state: TNodeConstructorProps);
7
- protected Render: (() => import("react").JSX.Element) & {
7
+ RenderOverlay: (() => import("react").JSX.Element) & {
8
8
  displayName: string;
9
9
  };
10
10
  }
@@ -4,7 +4,7 @@ import { CommunicationNode } from '../CommunicationNode';
4
4
  export declare class CommunicationControllerNode extends CommunicationNode {
5
5
  readonly communicationNodeType: "controller";
6
6
  constructor(parent: Element | null, state: TNodeConstructorProps);
7
- protected Render: (() => import("react").JSX.Element) & {
7
+ RenderOverlay: (() => import("react").JSX.Element) & {
8
8
  displayName: string;
9
9
  };
10
10
  }
@@ -4,7 +4,7 @@ import { CommunicationNode } from '../CommunicationNode';
4
4
  export declare class CommunicationObjectNode extends CommunicationNode {
5
5
  readonly communicationNodeType: "object";
6
6
  constructor(parent: Element | null, state: TNodeConstructorProps);
7
- protected Render: (() => import("react").JSX.Element) & {
7
+ RenderOverlay: (() => import("react").JSX.Element) & {
8
8
  displayName: string;
9
9
  };
10
10
  }
@@ -0,0 +1 @@
1
+ export type CommunicationNodeType = "actor" | "object" | "controller";
@@ -0,0 +1,8 @@
1
+ import { EditableNode } from './EditableNode';
2
+ import { Dimensions } from '../../store/primitives/Dimensions';
3
+ export declare const EditableLabel: (({ node, box }: {
4
+ node: EditableNode;
5
+ box: Dimensions;
6
+ }) => import("react").JSX.Element | null) & {
7
+ displayName: string;
8
+ };
@@ -10,6 +10,6 @@ export declare abstract class EditableNode extends Node {
10
10
  cancel(): void;
11
11
  confirm(): boolean;
12
12
  get isChanged(): boolean;
13
- protected abstract Render: FC;
14
- Renderer: () => import("react").JSX.Element;
13
+ protected get screenLabelBox(): import('../../store/primitives/Dimensions').Dimensions;
14
+ RenderScreen: FC<any>;
15
15
  }
@@ -22,7 +22,7 @@ export declare class Edge extends Element {
22
22
  setState<K extends keyof TEdgeState>(prop: K, value: TEdgeState[K]): void;
23
23
  setSteps(steps: Coordinates[]): void;
24
24
  get to(): import('./Gateway').Gateway;
25
- deserialize(o: ReturnType<(typeof this)['serialize']>): void;
25
+ deserialize(o: ReturnType<(typeof this)["serialize"]>): void;
26
26
  serialize(): {
27
27
  arrowHeadEnd: import('../types').EdgeArrowHead | undefined;
28
28
  arrowHeadStart: import('../types').EdgeArrowHead | undefined;
@@ -38,5 +38,5 @@ export declare class Edge extends Element {
38
38
  class: string;
39
39
  };
40
40
  dragStart(midpoint: Midpoint, ev: MouseEvent): void;
41
- dragEndpoint(endpoint: 'from' | 'to', ev: MouseEvent): void;
41
+ dragEndpoint(endpoint: "from" | "to", ev: MouseEvent): void;
42
42
  }
@@ -1,8 +1,8 @@
1
1
  import { Coordinates } from '../primitives/Coordinates';
2
2
  import { Element } from './Element';
3
3
  import { AnyMouseEvent } from './Events';
4
- export type TEdgePointType = 'auto' | 'manual' | 'static';
5
- export type TEdgePointManualAxes = 'none' | 'x' | 'y' | 'both';
4
+ export type TEdgePointType = "auto" | "manual" | "static";
5
+ export type TEdgePointManualAxes = "none" | "x" | "y" | "both";
6
6
  export type TSerializedEdgePoint = [number, number, TEdgePointType] | [number, number, TEdgePointType, TEdgePointManualAxes];
7
7
  export declare class EdgePoint extends Coordinates {
8
8
  parent: Element | null;
@@ -11,8 +11,8 @@ export declare class EdgePoint extends Coordinates {
11
11
  constructor(parent: Element | null, items?: AnyMouseEvent | Event | Coordinates | number[] | TSerializedEdgePoint);
12
12
  get manualX(): boolean;
13
13
  get manualY(): boolean;
14
- addManualAxis(axis: 'x' | 'y' | 'both'): this;
15
- hasManualAxis(axis: 'x' | 'y'): boolean;
14
+ addManualAxis(axis: "x" | "y" | "both"): this;
15
+ hasManualAxis(axis: "x" | "y"): boolean;
16
16
  markStatic(): this;
17
17
  copy(): EdgePoint;
18
18
  toString(includeMode?: boolean): string;
@@ -191,10 +191,10 @@ export declare class DEdgeDragStartEvent extends DDragEvent {
191
191
  }
192
192
  export declare class DEdgeEndpointDragStartEvent extends DDragEvent {
193
193
  src: Edge;
194
- endpoint: 'from' | 'to';
194
+ endpoint: "from" | "to";
195
195
  originalEvent: AnyMouseEvent;
196
196
  protected readonly __brand: void;
197
- constructor(src: Edge, endpoint: 'from' | 'to', originalEvent: AnyMouseEvent);
197
+ constructor(src: Edge, endpoint: "from" | "to", originalEvent: AnyMouseEvent);
198
198
  }
199
199
  export declare class NodePositionProposal {
200
200
  readonly node: Node<any>;
@@ -222,11 +222,11 @@ export declare class DDragNodeEvent extends DDragEvent {
222
222
  }
223
223
  export declare class EdgePointPositionProposal {
224
224
  readonly point: Coordinates;
225
- readonly movedAxis: 'x' | 'y';
225
+ readonly movedAxis: "x" | "y";
226
226
  private _updated;
227
227
  private _lockX;
228
228
  private _lockY;
229
- constructor(point: Coordinates, movedAxis: 'x' | 'y');
229
+ constructor(point: Coordinates, movedAxis: "x" | "y");
230
230
  get current(): Coordinates;
231
231
  get(): Coordinates;
232
232
  lockX(): void;
@@ -238,7 +238,7 @@ export declare class EdgePointPositionProposal {
238
238
  export declare class DDragEdgeSegmentEvent extends DDragEvent {
239
239
  src: Element;
240
240
  proposals: EdgePointPositionProposal[];
241
- movedAxis: 'x' | 'y';
241
+ movedAxis: "x" | "y";
242
242
  protected readonly __brand: void;
243
- constructor(src: Element, proposals: EdgePointPositionProposal[], movedAxis: 'x' | 'y', originalEvent: AnyMouseEvent);
243
+ constructor(src: Element, proposals: EdgePointPositionProposal[], movedAxis: "x" | "y", originalEvent: AnyMouseEvent);
244
244
  }
@@ -6,7 +6,7 @@ import { Element } from './Element';
6
6
  export declare class Gateway extends Element {
7
7
  parent: Node<any>;
8
8
  state: TGatewayState;
9
- constructor(parent: Node<any>, state: Pick<TGatewayState, 'maxIncomingConnections' | 'maxOutgoingConnections' | 'orientation' | 'id'> & Partial<TGatewayState>);
9
+ constructor(parent: Node<any>, state: Pick<TGatewayState, "maxIncomingConnections" | "maxOutgoingConnections" | "orientation" | "id"> & Partial<TGatewayState>);
10
10
  addIncomingEdge(edge: Edge): void;
11
11
  addOutgoingEdge(edge: Edge): void;
12
12
  canConnect(from: Gateway): boolean;
@@ -26,10 +26,10 @@ export declare class Gateway extends Element {
26
26
  get id(): string;
27
27
  get direction(): "horizontal" | "vertical";
28
28
  get orientation(): import('../types').TOrientation;
29
- recomputeConnectedEdge(edge: Edge, _movedSide: 'from' | 'to'): void;
29
+ recomputeConnectedEdge(edge: Edge, _movedSide: "from" | "to"): void;
30
30
  updateEdges(): void;
31
31
  get remainingSlots(): number;
32
- deserialize(c: ReturnType<(typeof this)['serialize']>): void;
32
+ deserialize(c: ReturnType<(typeof this)["serialize"]>): void;
33
33
  serialize(): {
34
34
  coordinates: [number, number];
35
35
  fill: string | undefined;
@@ -6,7 +6,14 @@ import { Gateway } from './Gateway';
6
6
  import { Element } from './Element';
7
7
  import { ClassList } from '../../util/ClassList';
8
8
  import { FC } from 'react';
9
- export type TNodeConstructorProps = Pick<TNodeState, 'id' | 'label'> & Partial<TNodeState>;
9
+ export type TNodeConstructorProps = Pick<TNodeState, "id" | "label"> & Partial<TNodeState>;
10
+ export type TNodeRenderProps<N extends Node<any> = Node<any>> = {
11
+ node: N;
12
+ box: Dimensions;
13
+ };
14
+ export type TNodeScreenRenderProps<N extends Node<any> = Node<any>> = TNodeRenderProps<N> & {
15
+ scale: number;
16
+ };
10
17
  export declare class Node<Gateways = TOrientation> extends Element {
11
18
  protected _gateways: Map<Gateways, Gateway>;
12
19
  state: TNodeState;
@@ -31,7 +38,7 @@ export declare class Node<Gateways = TOrientation> extends Element {
31
38
  setPosition(c: Coordinates, options?: {
32
39
  updateConnectedEdges?: boolean;
33
40
  }): void;
34
- deserialize(o: ReturnType<(typeof this)['serialize']>): void;
41
+ deserialize(o: ReturnType<(typeof this)["serialize"]>): void;
35
42
  serialize(): {
36
43
  box: [number, number, number, number];
37
44
  id: string;
@@ -69,5 +76,6 @@ export declare class Node<Gateways = TOrientation> extends Element {
69
76
  strokewWidth: number | undefined;
70
77
  class: string;
71
78
  };
72
- Renderer: FC | null;
79
+ RenderOverlay: FC<any> | null;
80
+ RenderScreen: FC<any> | null;
73
81
  }
@@ -1,6 +1,6 @@
1
1
  import { DClickEvent } from '../elements/Events';
2
2
  import { DiagramExtension } from './DiagramExtension';
3
- export type TCreationMode = 'none' | 'text';
3
+ export type TCreationMode = "none" | "text";
4
4
  export declare class Creator extends DiagramExtension {
5
5
  creationMode: TCreationMode;
6
6
  init(): void;