@focus.matters/diagrams 0.0.10 → 0.1.0

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 (102) hide show
  1. package/dist/{DirectedPoint-aLZ8iXbb.js → DirectedPoint-BcpEj8ub.js} +2 -2
  2. package/dist/DirectedPoint-BcpEj8ub.js.map +1 -0
  3. package/dist/diagrams.css +1 -1
  4. package/dist/index-hTkL5cDr.js +12037 -0
  5. package/dist/index-hTkL5cDr.js.map +1 -0
  6. package/dist/index.es.js +8 -6
  7. package/dist/index.umd.js +5 -4
  8. package/dist/index.umd.js.map +1 -1
  9. package/dist/src/Diagrams/components/Canvas.d.ts +1 -0
  10. package/dist/src/Diagrams/components/extensions/RenderDiagramExtensions.d.ts +4 -0
  11. package/dist/src/Diagrams/components/extensions/RenderUIExtensions.d.ts +4 -0
  12. package/dist/src/Diagrams/components/extra/AlignmentSuggestions.d.ts +1 -0
  13. package/dist/src/Diagrams/components/extra/GatewayRender.d.ts +1 -0
  14. package/dist/src/Diagrams/components/extra/NodeGatewayRender.d.ts +6 -0
  15. package/dist/src/Diagrams/components/objects/EdgeLabels.d.ts +7 -0
  16. package/dist/src/Diagrams/components/objects/RenderEdge/EdgeMarker.d.ts +1 -0
  17. package/dist/src/Diagrams/components/objects/RenderEdge/buildEdgePath.d.ts +5 -0
  18. package/dist/src/Diagrams/components/objects/RenderEdge/index.d.ts +1 -0
  19. package/dist/src/Diagrams/components/objects/RenderEdge/types.d.ts +2 -1
  20. package/dist/src/Diagrams/components/objects/Shapes.d.ts +1 -0
  21. package/dist/src/Diagrams/components/objects/edgeLabelPlacement.d.ts +4 -0
  22. package/dist/src/Diagrams/custom/agent/edges/AgentEdge.d.ts +19 -1
  23. package/dist/src/Diagrams/custom/agent/nodes/AgentNode.d.ts +20 -1
  24. package/dist/src/Diagrams/custom/bpmn/BPMDiagram.d.ts +10 -1
  25. package/dist/src/Diagrams/custom/bpmn/bpmnEvents.d.ts +2 -1
  26. package/dist/src/Diagrams/custom/bpmn/config/BPMNElementCatalog.d.ts +26 -0
  27. package/dist/src/Diagrams/custom/bpmn/config/BPMNLabels.d.ts +27 -0
  28. package/dist/src/Diagrams/custom/bpmn/edges/BPMNEdge.d.ts +77 -0
  29. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNArtifactTransformer.d.ts +5 -0
  30. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNEventAttachments.d.ts +19 -0
  31. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNGridSnap.d.ts +4 -2
  32. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNLaneResizer.d.ts +1 -1
  33. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNModelerExtension.d.ts +97 -0
  34. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNNodeResizer.d.ts +31 -0
  35. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNPropertyChangeEvent.d.ts +4 -0
  36. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNResizeSuggester.d.ts +23 -0
  37. package/dist/src/Diagrams/custom/bpmn/nodes/BPMNEventDefinition.d.ts +28 -0
  38. package/dist/src/Diagrams/custom/bpmn/nodes/BPMNode.d.ts +9 -0
  39. package/dist/src/Diagrams/custom/bpmn/nodes/BlackBoxPoolNode.d.ts +17 -0
  40. package/dist/src/Diagrams/custom/bpmn/nodes/DataStoreNode.d.ts +14 -0
  41. package/dist/src/Diagrams/custom/bpmn/nodes/DocumentAnnotationNode.d.ts +19 -0
  42. package/dist/src/Diagrams/custom/bpmn/nodes/DocumentNode.d.ts +13 -0
  43. package/dist/src/Diagrams/custom/bpmn/nodes/EventNode.d.ts +82 -12
  44. package/dist/src/Diagrams/custom/bpmn/nodes/GateNode.d.ts +27 -2
  45. package/dist/src/Diagrams/custom/bpmn/nodes/Lanes/LaneScreenRenderer.d.ts +1 -1
  46. package/dist/src/Diagrams/custom/bpmn/nodes/Lanes/index.d.ts +30 -6
  47. package/dist/src/Diagrams/custom/bpmn/nodes/TaskNode.d.ts +108 -3
  48. package/dist/src/Diagrams/custom/bpmn/nodes/TextAnnotationNode.d.ts +75 -0
  49. package/dist/src/Diagrams/custom/bpmn/nodes/UnknownBPMNNode.d.ts +20 -1
  50. package/dist/src/Diagrams/custom/bpmn/ui/BPMNDiagramControls.d.ts +6 -0
  51. package/dist/src/Diagrams/custom/bpmn/ui/BPMNElementMenu.d.ts +11 -0
  52. package/dist/src/Diagrams/custom/bpmn/ui/BPMNIcon.d.ts +9 -0
  53. package/dist/src/Diagrams/custom/bpmn/ui/BPMNPropertiesPanel.d.ts +6 -0
  54. package/dist/src/Diagrams/custom/bpmn/ui/BPMNResizeHandle.d.ts +7 -0
  55. package/dist/src/Diagrams/custom/bpmn/ui/resolveToolbarMenuPlacement.d.ts +18 -0
  56. package/dist/src/Diagrams/custom/bpmn/ui/resolveVisibleEdgeToolbarAnchor.d.ts +4 -0
  57. package/dist/src/Diagrams/custom/communication/edges/CommunicationEdge.d.ts +1 -27
  58. package/dist/src/Diagrams/custom/editable/EditableLabel.d.ts +1 -1
  59. package/dist/src/Diagrams/custom/editable/EditableNode.d.ts +8 -2
  60. package/dist/src/Diagrams/store/Canvas.d.ts +16 -6
  61. package/dist/src/Diagrams/store/Diagram.d.ts +77 -19
  62. package/dist/src/Diagrams/store/elements/DEdgeLabelChangeEvent.d.ts +5 -0
  63. package/dist/src/Diagrams/store/elements/Edge.d.ts +58 -8
  64. package/dist/src/Diagrams/store/elements/EdgeLabel.d.ts +64 -0
  65. package/dist/src/Diagrams/store/elements/Events.d.ts +5 -5
  66. package/dist/src/Diagrams/store/elements/Gateway.d.ts +24 -4
  67. package/dist/src/Diagrams/store/elements/Node.d.ts +69 -7
  68. package/dist/src/Diagrams/store/extensions/DiagramExtension.d.ts +11 -1
  69. package/dist/src/Diagrams/store/extensions/DistancesBalancer.d.ts +7 -1
  70. package/dist/src/Diagrams/store/extensions/Dragger.d.ts +19 -4
  71. package/dist/src/Diagrams/store/extensions/EdgesDragger.d.ts +15 -4
  72. package/dist/src/Diagrams/store/extensions/History.d.ts +10 -2
  73. package/dist/src/Diagrams/store/extensions/Hotkeys.d.ts +4 -1
  74. package/dist/src/Diagrams/store/extensions/LabelsAligner.d.ts +21 -0
  75. package/dist/src/Diagrams/store/extensions/NodesAligner.d.ts +10 -3
  76. package/dist/src/Diagrams/store/extensions/NodesConnector.d.ts +32 -3
  77. package/dist/src/Diagrams/store/extensions/Priorities.d.ts +2 -1
  78. package/dist/src/Diagrams/store/extensions/Rules.d.ts +6 -1
  79. package/dist/src/Diagrams/store/extensions/Selector.d.ts +17 -4
  80. package/dist/src/Diagrams/store/extensions/StraightDrag.d.ts +3 -0
  81. package/dist/src/Diagrams/store/extensions/StraightLabelsDrag.d.ts +10 -0
  82. package/dist/src/Diagrams/store/extensions/nodePositionProposalRanking.d.ts +8 -0
  83. package/dist/src/Diagrams/store/routers/CurvedRouter.d.ts +13 -0
  84. package/dist/src/Diagrams/store/routers/EdgesRouter.d.ts +21 -0
  85. package/dist/src/Diagrams/store/routers/OrthogonalRouter.d.ts +16 -0
  86. package/dist/src/Diagrams/store/routers/StraightRouter.d.ts +13 -0
  87. package/dist/src/Diagrams/store/routers/cardinalAxisConstraint.d.ts +7 -0
  88. package/dist/src/Diagrams/store/routers/getEdgesRouter.d.ts +4 -0
  89. package/dist/src/Diagrams/store/routers/resolveConnectionCandidate.d.ts +22 -0
  90. package/dist/src/Diagrams/store/types.d.ts +16 -7
  91. package/dist/src/Diagrams/util/bpmn/applyBPMNImportPlan.d.ts +1 -0
  92. package/dist/src/Diagrams/util/bpmn/buildBPMNImportPlan.d.ts +1 -1
  93. package/dist/src/Diagrams/util/bpmn/index.d.ts +2 -1
  94. package/dist/src/Diagrams/util/bpmn/sanitizeId.d.ts +2 -0
  95. package/dist/src/Diagrams/util/bpmn/types.d.ts +1 -0
  96. package/dist/src/Diagrams/util/paths/orthogonalRouter.d.ts +2 -0
  97. package/dist/src/index.d.ts +8 -5
  98. package/package.json +1 -1
  99. package/dist/DirectedPoint-aLZ8iXbb.js.map +0 -1
  100. package/dist/index-B_tKoJcy.js +0 -7229
  101. package/dist/index-B_tKoJcy.js.map +0 -1
  102. package/dist/src/Diagrams/util/paths/findBestPathBetweenNodes.d.ts +0 -8
@@ -0,0 +1,7 @@
1
+ import { Coordinates } from '../primitives/Coordinates';
2
+ /** Projects a dragged point onto the nearest horizontal or vertical cardinal axis. */
3
+ export declare function cardinalAxisConstraint(origin: Coordinates, point: Coordinates): {
4
+ axis: "horizontal" | "vertical";
5
+ origin: Coordinates;
6
+ point: Coordinates;
7
+ };
@@ -0,0 +1,4 @@
1
+ import { EdgePathType } from '../types';
2
+ import { EdgesRouter } from './EdgesRouter';
3
+ /** Returns the shared router instance corresponding to one persisted edge type. */
4
+ export declare function getEdgesRouter(pathType: EdgePathType): EdgesRouter;
@@ -0,0 +1,22 @@
1
+ import { Diagram } from '../Diagram';
2
+ import { Node } from '../elements/Node';
3
+ import { Coordinates } from '../primitives/Coordinates';
4
+ import { TEdgeAnchorState } from '../types';
5
+ import { EdgeRouterAnchor } from './EdgesRouter';
6
+ export type ConnectionCandidate = {
7
+ anchor: EdgeRouterAnchor;
8
+ anchorState: TEdgeAnchorState;
9
+ node: Node<any>;
10
+ snappedToGateway: boolean;
11
+ };
12
+ type CandidateOptions = {
13
+ axisConstraint?: {
14
+ axis: "horizontal" | "vertical";
15
+ origin: Coordinates;
16
+ };
17
+ excludeNode?: Node<any>;
18
+ oppositePoint: Coordinates;
19
+ };
20
+ /** Resolves a cursor using gateway snap, exact boundary, then a declared gateway. */
21
+ export declare function resolveConnectionCandidate(diagram: Diagram, point: Coordinates, options: CandidateOptions): ConnectionCandidate | null;
22
+ export {};
@@ -1,8 +1,9 @@
1
- import { Dimensions } from './primitives/Dimensions';
2
- import { Coordinates } from './primitives/Coordinates';
3
- import { Gateway } from './elements/Gateway';
4
1
  import { Edge } from './elements/Edge';
2
+ import { EdgeLabel } from './elements/EdgeLabel';
5
3
  import { EdgePoint } from './elements/EdgePoint';
4
+ import { Gateway } from './elements/Gateway';
5
+ import { Coordinates } from './primitives/Coordinates';
6
+ import { Dimensions } from './primitives/Dimensions';
6
7
  export type TNodeState = {
7
8
  id: string;
8
9
  box: Dimensions;
@@ -10,6 +11,7 @@ export type TNodeState = {
10
11
  } & Partial<{
11
12
  fill: string;
12
13
  labelFontSize: number;
14
+ labelOffset: [number, number];
13
15
  movable: boolean;
14
16
  selectable: boolean;
15
17
  selected: boolean;
@@ -19,25 +21,32 @@ export type TNodeState = {
19
21
  zIndex: number;
20
22
  groupChildren: boolean;
21
23
  }>;
22
- export type EdgePathType = "straight" | "curved" | "angle";
23
- export type EdgeArrowHead = "none" | "arrow" | "triangle" | "triangle-filled" | "diamond" | "circle-small" | "circle-medium" | "measure";
24
+ export type EdgePathType = "orthogonal" | "straight" | "curved";
25
+ export type EdgeAnchorMode = "automatic" | "fixed";
26
+ export type TEdgeAnchorState = {
27
+ mode: EdgeAnchorMode;
28
+ position?: Coordinates;
29
+ };
30
+ export type EdgeArrowHead = "none" | "arrow" | "arrow-open" | "triangle" | "triangle-filled" | "diamond" | "circle-small" | "circle-medium" | "default-flow" | "measure";
24
31
  export type EdgeLineStyle = "solid" | "dashed" | "dotted";
25
32
  export type TEdgeState = {
26
33
  dragging: boolean;
27
34
  hover: boolean;
28
35
  selected: boolean;
29
- label: string;
30
- labelPositioning: Coordinates;
36
+ labels: EdgeLabel[];
31
37
  from: Gateway;
32
38
  to: Gateway;
33
39
  steps: EdgePoint[];
34
40
  } & Partial<{
41
+ arrowSize: number;
35
42
  arrowHeadEnd: EdgeArrowHead;
36
43
  arrowHeadStart: EdgeArrowHead;
37
44
  displacementEnd: Coordinates;
38
45
  displacementStart: Coordinates;
46
+ endAnchor: TEdgeAnchorState;
39
47
  lineStyle: EdgeLineStyle;
40
48
  pathType: EdgePathType;
49
+ startAnchor: TEdgeAnchorState;
41
50
  stroke: string;
42
51
  strokeWidth: number;
43
52
  }>;
@@ -1,3 +1,4 @@
1
1
  import { Diagram } from '../../store/Diagram';
2
2
  import { BPMNApplyImportResult, BPMNImportPlan } from './types';
3
+ /** Applies one prepared BPMN import plan and reports the imported element totals. */
3
4
  export declare function applyBPMNImportPlan(diagram: Diagram, plan: BPMNImportPlan): BPMNApplyImportResult;
@@ -1,3 +1,3 @@
1
1
  import { BPMNImportPlan, ParsedBPMNModel } from './types';
2
- export declare function sanitizeId(raw: string, fallbackPrefix: string): string;
2
+ /** Builds a deterministic diagram import plan from one parsed BPMN model. */
3
3
  export declare function buildBPMNImportPlan(parsed: ParsedBPMNModel): BPMNImportPlan;
@@ -1,5 +1,6 @@
1
1
  export { applyBPMNImportPlan } from './applyBPMNImportPlan';
2
- export { buildBPMNImportPlan, sanitizeId } from './buildBPMNImportPlan';
2
+ export { buildBPMNImportPlan } from './buildBPMNImportPlan';
3
3
  export { importBPMNXmlIntoDiagram } from './importBPMNXmlIntoDiagram';
4
4
  export { parseBPMNXml } from './parseBPMNXml';
5
+ export { sanitizeId } from './sanitizeId';
5
6
  export type * from './types';
@@ -0,0 +1,2 @@
1
+ /** Normalizes an external BPMN identifier while retaining a stable fallback. */
2
+ export declare function sanitizeId(raw: string, fallbackPrefix: string): string;
@@ -73,6 +73,7 @@ export type BPMNImportNodePlan = {
73
73
  bpmnType: string;
74
74
  eventType?: number;
75
75
  gateType?: number;
76
+ taskType?: number;
76
77
  sourceType?: string;
77
78
  };
78
79
  export type BPMNImportEdgePlan = {
@@ -3,5 +3,7 @@ import { Edge } from '../../store/elements/Edge';
3
3
  import { EdgePoint } from '../../store/elements/EdgePoint';
4
4
  import { Gateway } from '../../store/elements/Gateway';
5
5
  import { Coordinates } from '../../store/primitives/Coordinates';
6
+ /** Builds the lowest-bend collision-safe orthogonal route between two gateways. */
6
7
  export declare function routeOrthogonalBetweenGateways(diagram: Diagram, from: Gateway, to: Gateway, fromDisplacement?: Coordinates, toDisplacement?: Coordinates, parent?: Edge | null): EdgePoint[];
8
+ /** Rebuilds an orthogonal edge while preserving every explicit manual constraint. */
7
9
  export declare function routeOrthogonalEdge(diagram: Diagram, edge: Edge, keepManualPoints?: EdgePoint[], manualPointOverride?: EdgePoint[]): EdgePoint[];
@@ -1,8 +1,11 @@
1
- export { DiagramEditor } from './Diagrams/DiagramEditor';
2
- export { Diagram } from './Diagrams/store/Diagram';
3
- export { BPMDiagram } from './Diagrams/custom/bpmn/BPMDiagram';
1
+ export { ToolsStates } from './Diagrams/components/extra/ToolsState';
4
2
  export { AgentDiagram } from './Diagrams/custom/agent/AgentDiagram';
3
+ export type * from './Diagrams/custom/agent/types';
4
+ export { BPMDiagram } from './Diagrams/custom/bpmn/BPMDiagram';
5
+ export type { BPMDiagramSettings } from './Diagrams/custom/bpmn/BPMDiagram';
6
+ export { BPMN_LABELS, configureBPMNLabels } from './Diagrams/custom/bpmn/config/BPMNLabels';
7
+ export type { BPMNLabelOverrides, BPMNLabels } from './Diagrams/custom/bpmn/config/BPMNLabels';
5
8
  export { CommunicationDiagram } from './Diagrams/custom/communication/CommunicationDiagram';
6
- export { ToolsStates } from './Diagrams/components/extra/ToolsState';
7
9
  export type { CommunicationNodeType } from './Diagrams/custom/communication/types';
8
- export type * from './Diagrams/custom/agent/types';
10
+ export { DiagramEditor } from './Diagrams/DiagramEditor';
11
+ export { Diagram } from './Diagrams/store/Diagram';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@focus.matters/diagrams",
3
- "version": "0.0.10",
3
+ "version": "0.1.0",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -1 +0,0 @@
1
- {"version":3,"file":"DirectedPoint-aLZ8iXbb.js","sources":["../src/Diagrams/store/primitives/DirectedPoint.ts"],"sourcesContent":["import type { TOrientation } from \"../types\";\nimport { Coordinates } from \"./Coordinates\";\n\nexport class DirectedPoint extends Coordinates {\n direction: TOrientation = \"left\";\n\n get rawDirectedPoint() {\n return {\n x: this.x,\n y: this.y,\n direction: this.direction,\n };\n }\n\n stepBack() {\n switch (this.direction) {\n case \"down\":\n this.y--;\n break;\n case \"left\":\n this.x++;\n break;\n case \"right\":\n this.x--;\n break;\n case \"up\":\n this.y++;\n break;\n }\n return this;\n }\n\n stepForward() {\n switch (this.direction) {\n case \"down\":\n this.y++;\n break;\n case \"left\":\n this.x--;\n break;\n case \"right\":\n this.x++;\n break;\n case \"up\":\n this.y--;\n break;\n }\n return this;\n }\n}\n"],"names":["_DirectedPoint","Coordinates","__name","DirectedPoint"],"mappings":";;;AAGO,MAAMA,IAAN,MAAMA,UAAsBC,EAAY;AAAA,EAC7C,YAA0B;AAAA,EAE1B,IAAI,mBAAmB;AACrB,WAAO;AAAA,MACL,GAAG,KAAK;AAAA,MACR,GAAG,KAAK;AAAA,MACR,WAAW,KAAK;AAAA,IAAA;AAAA,EAEpB;AAAA,EAEA,WAAW;AACT,YAAQ,KAAK,WAAA;AAAA,MACX,KAAK;AACH,aAAK;AACL;AAAA,MACF,KAAK;AACH,aAAK;AACL;AAAA,MACF,KAAK;AACH,aAAK;AACL;AAAA,MACF,KAAK;AACH,aAAK;AACL;AAAA,IAAA;AAEJ,WAAO;AAAA,EACT;AAAA,EAEA,cAAc;AACZ,YAAQ,KAAK,WAAA;AAAA,MACX,KAAK;AACH,aAAK;AACL;AAAA,MACF,KAAK;AACH,aAAK;AACL;AAAA,MACF,KAAK;AACH,aAAK;AACL;AAAA,MACF,KAAK;AACH,aAAK;AACL;AAAA,IAAA;AAEJ,WAAO;AAAA,EACT;AACF;AA9C+CC,EAAAF,GAAA;AAAxC,IAAMG,IAANH;"}