@tumaet/apollon 4.6.0 → 4.8.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 (174) hide show
  1. package/README.md +2 -2
  2. package/dist/LICENSE-InterFont +92 -0
  3. package/dist/assets/style.css +1 -1
  4. package/dist/export.d.ts +73 -0
  5. package/dist/export.js +219 -0
  6. package/dist/exportFonts-DxO9jrR1.js +19 -0
  7. package/dist/exportStyles-Wcc8N8Xj.js +5 -0
  8. package/dist/fontStack-DOtVH2j8.js +5 -0
  9. package/dist/index.d.ts +151 -92
  10. package/dist/index.js +34925 -8009
  11. package/dist/internals.d.ts +136 -93
  12. package/dist/internals.js +16 -10
  13. package/dist/react/App.d.ts +1 -1
  14. package/dist/react/LICENSE-InterFont +92 -0
  15. package/dist/react/apollon-editor.d.ts +19 -0
  16. package/dist/react/components/AlignmentGuides.d.ts +1 -1
  17. package/dist/react/components/AssessmentSelectionDebug.d.ts +1 -1
  18. package/dist/react/components/CustomBackground.d.ts +1 -1
  19. package/dist/react/components/CustomControls.d.ts +1 -1
  20. package/dist/react/components/CustomMiniMap.d.ts +1 -1
  21. package/dist/react/components/DraggableGhost.d.ts +5 -0
  22. package/dist/react/components/Icon/ArrowBackIcon.d.ts +1 -1
  23. package/dist/react/components/Icon/ArrowForwardIcon.d.ts +1 -1
  24. package/dist/react/components/Icon/CheckIcon.d.ts +1 -1
  25. package/dist/react/components/Icon/CrossIcon.d.ts +1 -1
  26. package/dist/react/components/Icon/DeleteIcon.d.ts +1 -1
  27. package/dist/react/components/Icon/DragHandleIcon.d.ts +1 -1
  28. package/dist/react/components/Icon/EditIcon.d.ts +1 -1
  29. package/dist/react/components/Icon/ExclamationIcon.d.ts +1 -1
  30. package/dist/react/components/Icon/InfiniteIcon.d.ts +1 -1
  31. package/dist/react/components/Icon/MapIcon.d.ts +1 -1
  32. package/dist/react/components/Icon/PaintRollerIcon.d.ts +1 -1
  33. package/dist/react/components/Icon/RedoIcon.d.ts +1 -1
  34. package/dist/react/components/Icon/SouthEastArrowIcon.d.ts +1 -1
  35. package/dist/react/components/Icon/SwapHorizIcon.d.ts +1 -1
  36. package/dist/react/components/Icon/UndoIcon.d.ts +1 -1
  37. package/dist/react/components/ReconnectConnectionLine.d.ts +1 -1
  38. package/dist/react/components/Sidebar.d.ts +2 -1
  39. package/dist/react/components/collaboration/CollaborationLayer.d.ts +1 -1
  40. package/dist/react/components/popovers/DefaultNodeGiveFeedbackPopover.d.ts +1 -1
  41. package/dist/react/components/popovers/DefaultNodeSeeFeedbackPopover.d.ts +1 -1
  42. package/dist/react/components/popovers/GenericPopover.d.ts +1 -1
  43. package/dist/react/components/popovers/GiveFeedbackAssessmentBox.d.ts +1 -1
  44. package/dist/react/components/popovers/PopoverManager.d.ts +2 -2
  45. package/dist/react/components/popovers/SeeFeedbackAssessmentBox.d.ts +1 -1
  46. package/dist/react/components/popovers/bpmnDiagram/BPMNPoolEditPopover.d.ts +1 -1
  47. package/dist/react/components/popovers/classDiagram/ClassGiveFeedbackPopover.d.ts +1 -1
  48. package/dist/react/components/popovers/classDiagram/ClassSeeFeedbackPopover.d.ts +1 -1
  49. package/dist/react/components/popovers/communicationDiagram/CommunicationObjectNameGiveFeedbackPopover.d.ts +1 -1
  50. package/dist/react/components/popovers/communicationDiagram/CommunicationObjectNameSeeFeedbackPopover.d.ts +1 -1
  51. package/dist/react/components/popovers/edgePopovers/EdgeGiveFeedbackPopover.d.ts +1 -1
  52. package/dist/react/components/popovers/edgePopovers/EdgeSeeFeedbackPopover.d.ts +1 -1
  53. package/dist/react/components/popovers/edgePopovers/EdgeTypePreviewIcon.d.ts +1 -1
  54. package/dist/react/components/popovers/edgePopovers/EdgeTypeSelect.d.ts +1 -1
  55. package/dist/react/components/popovers/edgePopovers/SwapEndsButton.d.ts +9 -0
  56. package/dist/react/components/popovers/objectDiagram/ObjectGiveFeedbackPopover.d.ts +1 -1
  57. package/dist/react/components/popovers/objectDiagram/ObjectSeeFeedbackPopover.d.ts +1 -1
  58. package/dist/react/components/react/Apollon.d.ts +7 -2
  59. package/dist/react/components/react/context.d.ts +1 -1
  60. package/dist/react/components/svgs/edges/InlineMarker.d.ts +2 -2
  61. package/dist/react/components/svgs/nodes/classDiagram/ClassSVG.d.ts +1 -1
  62. package/dist/react/components/svgs/nodes/classDiagram/ColorDescriptionSVG.d.ts +1 -1
  63. package/dist/react/components/svgs/nodes/communicationDiagram/CommunicationObjectNameSVG.d.ts +1 -1
  64. package/dist/react/components/svgs/nodes/objectDiagram/ObjectNameSVG.d.ts +1 -1
  65. package/dist/react/components/toolbars/edgeToolBar/CustomEdgeToolBar.d.ts +1 -1
  66. package/dist/react/components/ui/StyleEditor/ColorButtons.d.ts +1 -1
  67. package/dist/react/constants.d.ts +17 -6
  68. package/dist/react/edges/GenericEdge.d.ts +5 -6
  69. package/dist/react/edges/edgeTypes/ActivityDiagramEdge.d.ts +1 -1
  70. package/dist/react/edges/edgeTypes/BPMNDiagramEdge.d.ts +1 -1
  71. package/dist/react/edges/edgeTypes/ClassDiagramEdge.d.ts +1 -1
  72. package/dist/react/edges/edgeTypes/CommunicationDiagramEdge.d.ts +1 -1
  73. package/dist/react/edges/edgeTypes/ComponentDiagramEdge.d.ts +1 -1
  74. package/dist/react/edges/edgeTypes/DeploymentDiagramEdge.d.ts +1 -1
  75. package/dist/react/edges/edgeTypes/FlowChartEdge.d.ts +1 -1
  76. package/dist/react/edges/edgeTypes/ObjectDiagramEdge.d.ts +1 -1
  77. package/dist/react/edges/edgeTypes/PetriNetEdge.d.ts +1 -1
  78. package/dist/react/edges/edgeTypes/ReachabilityGraphArc.d.ts +1 -1
  79. package/dist/react/edges/edgeTypes/SfcDiagramEdge.d.ts +1 -1
  80. package/dist/react/edges/edgeTypes/SyntaxTreeEdge.d.ts +1 -1
  81. package/dist/react/edges/edgeTypes/UseCaseDiagramEdge.d.ts +1 -1
  82. package/dist/react/edges/labelTypes/EdgeEndLabels.d.ts +1 -1
  83. package/dist/react/edges/labelTypes/EdgeIncludeExtendLabel.d.ts +1 -1
  84. package/dist/react/edges/labelTypes/EdgeMiddleLabels.d.ts +1 -1
  85. package/dist/react/edges/labelTypes/EdgeMultipleLabels.d.ts +1 -1
  86. package/dist/react/edges/types.d.ts +34 -34
  87. package/dist/react/export/exportErrors.d.ts +10 -0
  88. package/dist/react/export/index.d.ts +13 -0
  89. package/dist/react/export/normalizeExportSvg.d.ts +16 -0
  90. package/dist/react/export/preProcessSvgForPdf.d.ts +20 -0
  91. package/dist/react/export/svgToPdf.d.ts +17 -0
  92. package/dist/react/export/svgToPng.d.ts +38 -0
  93. package/dist/react/exportFonts-DSRUaduf.js +20 -0
  94. package/dist/react/exportStyles-CH2hautV.js +6 -0
  95. package/dist/react/fontStack.d.ts +14 -0
  96. package/dist/react/hooks/index.d.ts +1 -0
  97. package/dist/react/hooks/useEdgeLineJumps.d.ts +3 -1
  98. package/dist/react/hooks/useEdgeToolbar.d.ts +1 -1
  99. package/dist/react/hooks/usePopoverAnchor.d.ts +26 -0
  100. package/dist/react/hooks/useReactiveElement.d.ts +10 -0
  101. package/dist/react/hooks/useRemoteDraggingNodes.d.ts +20 -0
  102. package/dist/react/hooks/useStepPathEdge.d.ts +1 -1
  103. package/dist/react/hooks/useStraightPathEdge.d.ts +1 -1
  104. package/dist/react/index.d.ts +1 -0
  105. package/dist/react/nodes/TitleAndDescriptionNode.d.ts +1 -1
  106. package/dist/react/nodes/activityDiagram/Activity.d.ts +1 -1
  107. package/dist/react/nodes/activityDiagram/ActivityActionNode.d.ts +1 -1
  108. package/dist/react/nodes/activityDiagram/ActivityFinalNode.d.ts +1 -1
  109. package/dist/react/nodes/activityDiagram/ActivityForkNode.d.ts +1 -1
  110. package/dist/react/nodes/activityDiagram/ActivityForkNodeHorizontal.d.ts +1 -1
  111. package/dist/react/nodes/activityDiagram/ActivityInitialNode.d.ts +1 -1
  112. package/dist/react/nodes/activityDiagram/ActivityMergeNode.d.ts +1 -1
  113. package/dist/react/nodes/activityDiagram/ActivityObjectNode.d.ts +1 -1
  114. package/dist/react/nodes/bpmn/BPMNAnnotation.d.ts +1 -1
  115. package/dist/react/nodes/bpmn/BPMNCallActivity.d.ts +1 -1
  116. package/dist/react/nodes/bpmn/BPMNDataObject.d.ts +1 -1
  117. package/dist/react/nodes/bpmn/BPMNDataStore.d.ts +1 -1
  118. package/dist/react/nodes/bpmn/BPMNEndEvent.d.ts +1 -1
  119. package/dist/react/nodes/bpmn/BPMNGateway.d.ts +1 -1
  120. package/dist/react/nodes/bpmn/BPMNGroup.d.ts +1 -1
  121. package/dist/react/nodes/bpmn/BPMNIntermediateEvent.d.ts +1 -1
  122. package/dist/react/nodes/bpmn/BPMNPool.d.ts +1 -1
  123. package/dist/react/nodes/bpmn/BPMNStartEvent.d.ts +1 -1
  124. package/dist/react/nodes/bpmn/BPMNSubprocess.d.ts +1 -1
  125. package/dist/react/nodes/bpmn/BPMNTask.d.ts +1 -1
  126. package/dist/react/nodes/bpmn/BPMNTransaction.d.ts +1 -1
  127. package/dist/react/nodes/classDiagram/Class.d.ts +1 -1
  128. package/dist/react/nodes/classDiagram/ColorDescription.d.ts +1 -1
  129. package/dist/react/nodes/classDiagram/Package.d.ts +1 -1
  130. package/dist/react/nodes/communicationDiagram/CommunicationObjectName.d.ts +1 -1
  131. package/dist/react/nodes/componentDiagram/Component.d.ts +1 -1
  132. package/dist/react/nodes/componentDiagram/ComponentInterface.d.ts +1 -1
  133. package/dist/react/nodes/componentDiagram/ComponentSubsystem.d.ts +1 -1
  134. package/dist/react/nodes/deploymentDiagram/DeploymentArtifact.d.ts +1 -1
  135. package/dist/react/nodes/deploymentDiagram/DeploymentComponent.d.ts +1 -1
  136. package/dist/react/nodes/deploymentDiagram/DeploymentInterface.d.ts +1 -1
  137. package/dist/react/nodes/deploymentDiagram/DeploymentNode.d.ts +1 -1
  138. package/dist/react/nodes/flowchart/FlowchartDecision.d.ts +1 -1
  139. package/dist/react/nodes/flowchart/FlowchartFunctionCall.d.ts +1 -1
  140. package/dist/react/nodes/flowchart/FlowchartInputOutput.d.ts +1 -1
  141. package/dist/react/nodes/flowchart/FlowchartProcess.d.ts +1 -1
  142. package/dist/react/nodes/flowchart/FlowchartTerminal.d.ts +1 -1
  143. package/dist/react/nodes/objectDiagram/ObjectName.d.ts +1 -1
  144. package/dist/react/nodes/petriNetDiagram/PetriNetPlace.d.ts +1 -1
  145. package/dist/react/nodes/petriNetDiagram/PetriNetTransition.d.ts +1 -1
  146. package/dist/react/nodes/reachabilityGraphDiagram/ReachabilityGraphMarking.d.ts +1 -1
  147. package/dist/react/nodes/sfcDiagram/SfcActionTable.d.ts +1 -1
  148. package/dist/react/nodes/sfcDiagram/SfcJump.d.ts +1 -1
  149. package/dist/react/nodes/sfcDiagram/SfcStart.d.ts +1 -1
  150. package/dist/react/nodes/sfcDiagram/SfcStep.d.ts +1 -1
  151. package/dist/react/nodes/sfcDiagram/SfcTransitionBranch.d.ts +1 -1
  152. package/dist/react/nodes/syntaxTreeDiagram/SyntaxTreeNonterminal.d.ts +1 -1
  153. package/dist/react/nodes/syntaxTreeDiagram/SyntaxTreeTerminal.d.ts +1 -1
  154. package/dist/react/nodes/useCaseDiagram/UseCase.d.ts +1 -1
  155. package/dist/react/nodes/useCaseDiagram/UseCaseActor.d.ts +1 -1
  156. package/dist/react/nodes/useCaseDiagram/UseCaseSystem.d.ts +1 -1
  157. package/dist/react/nodes/wrappers/DefaultNodeWrapper.d.ts +1 -1
  158. package/dist/react/react.js +23599 -24829
  159. package/dist/react/store/assessmentSelectionStore.d.ts +2 -0
  160. package/dist/react/store/diagramStore.d.ts +17 -1
  161. package/dist/react/sync/perfCounters.d.ts +6 -0
  162. package/dist/react/sync/ydoc.d.ts +2 -0
  163. package/dist/react/sync/yjsSync.d.ts +3 -2
  164. package/dist/react/types/nodes/NodeProps.d.ts +3 -3
  165. package/dist/react/typings.d.ts +23 -2
  166. package/dist/react/utils/collaboration.d.ts +10 -1
  167. package/dist/react/utils/exportFonts.d.ts +11 -0
  168. package/dist/react/utils/exportStyles.d.ts +30 -0
  169. package/dist/react/utils/exportUtils.d.ts +1 -101
  170. package/dist/react/utils/paletteLayout.d.ts +66 -0
  171. package/dist/yjsSync-CqmgRwRE.js +51038 -0
  172. package/package.json +38 -16
  173. package/schema/uml-model-4.schema.json +363 -0
  174. package/dist/yjsSync-CK5cmd5z.js +0 -71308
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tumaet/apollon",
3
- "version": "4.6.0",
3
+ "version": "4.8.0",
4
4
  "description": "Embeddable UML modeling editor. Mounts into any DOM node — works inside Angular, Vue, Svelte, vanilla JS, or React hosts.",
5
5
  "keywords": [
6
6
  "uml",
@@ -35,7 +35,8 @@
35
35
  "access": "public"
36
36
  },
37
37
  "files": [
38
- "dist"
38
+ "dist",
39
+ "schema"
39
40
  ],
40
41
  "sideEffects": [
41
42
  "**/*.css"
@@ -53,7 +54,12 @@
53
54
  "types": "./dist/internals.d.ts",
54
55
  "import": "./dist/internals.js"
55
56
  },
57
+ "./export": {
58
+ "types": "./dist/export.d.ts",
59
+ "import": "./dist/export.js"
60
+ },
56
61
  "./style.css": "./dist/assets/style.css",
62
+ "./schema": "./schema/uml-model-4.schema.json",
57
63
  "./package.json": "./package.json"
58
64
  },
59
65
  "size-limit": [
@@ -65,21 +71,26 @@
65
71
  {
66
72
  "name": "/react entry (peers external)",
67
73
  "path": "dist/react/react.js",
68
- "limit": "110 kB"
74
+ "limit": "112 kB"
69
75
  },
70
76
  {
71
77
  "name": "yjs sync chunk",
72
78
  "path": "dist/yjsSync-*.js",
73
79
  "limit": "210 kB"
80
+ },
81
+ {
82
+ "name": "/export lazy chunk (renderers external; Inter ttf inlined)",
83
+ "path": "dist/export.js",
84
+ "limit": "700 kB"
74
85
  }
75
86
  ],
76
87
  "peerDependencies": {
77
- "@emotion/react": "^11.11.0",
78
- "@emotion/styled": "^11.11.0",
88
+ "@emotion/react": "^11.12.0",
89
+ "@emotion/styled": "^11.12.0",
79
90
  "@mui/material": "^6.4.0",
80
91
  "@xyflow/react": "^12.3.0",
81
- "react": "^18.3.0",
82
- "react-dom": "^18.3.0"
92
+ "react": "^19.0.0",
93
+ "react-dom": "^19.0.0"
83
94
  },
84
95
  "peerDependenciesMeta": {
85
96
  "@emotion/react": {
@@ -111,30 +122,39 @@
111
122
  "yjs": "13.6.20",
112
123
  "zustand": "5.0.12"
113
124
  },
125
+ "optionalDependencies": {
126
+ "@resvg/resvg-wasm": "2.6.2",
127
+ "jspdf": "4.2.1",
128
+ "svg2pdf.js": "2.7.0"
129
+ },
114
130
  "devDependencies": {
115
- "@emotion/react": "11.11.1",
116
- "@emotion/styled": "11.11.0",
131
+ "@emotion/react": "11.14.0",
132
+ "@emotion/styled": "11.14.1",
117
133
  "@eslint/js": "9.17.0",
118
134
  "@mui/material": "6.4.2",
135
+ "@size-limit/preset-big-lib": "11.2.0",
119
136
  "@testing-library/jest-dom": "6.9.1",
120
137
  "@testing-library/react": "16.3.2",
121
138
  "@types/node": "24.12.4",
122
- "@types/react": "18.3.28",
123
- "@types/react-dom": "18.3.7",
139
+ "@types/react": "19.2.17",
140
+ "@types/react-dom": "19.2.3",
124
141
  "@vitejs/plugin-react": "4.3.4",
125
142
  "@vitest/coverage-v8": "4.1.2",
126
143
  "@xyflow/react": "12.3.6",
144
+ "ajv": "8.20.0",
145
+ "babel-plugin-react-compiler": "1.0.0",
127
146
  "eslint": "9.17.0",
128
147
  "eslint-plugin-react": "7.37.2",
129
- "eslint-plugin-react-hooks": "5.1.0",
148
+ "eslint-plugin-react-hooks": "7.1.1",
130
149
  "globals": "15.13.0",
131
150
  "jsdom": "28.1.0",
132
- "react": "18.3.1",
133
- "react-dom": "18.3.1",
151
+ "react": "19.2.7",
152
+ "react-dom": "19.2.7",
134
153
  "size-limit": "11.2.0",
135
- "@size-limit/preset-big-lib": "11.2.0",
154
+ "subset-font": "2.5.0",
136
155
  "typescript": "5.7.2",
137
156
  "typescript-eslint": "8.18.1",
157
+ "typescript-json-schema": "0.67.4",
138
158
  "vite": "6.4.2",
139
159
  "vite-plugin-dts": "4.3.0",
140
160
  "vitest": "4.1.2"
@@ -149,6 +169,8 @@
149
169
  "test": "vitest run",
150
170
  "test:watch": "vitest",
151
171
  "test:coverage": "vitest run --coverage",
152
- "size": "size-limit"
172
+ "size": "size-limit",
173
+ "gen:fonts": "node scripts/gen-fonts.mjs",
174
+ "gen:schema": "node scripts/gen-schema.mjs"
153
175
  }
154
176
  }
@@ -0,0 +1,363 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "version": {
5
+ "type": "string",
6
+ "pattern": "^4\\.\\d+\\.\\d+$",
7
+ "description": "Wire-format version. Tracks the model MAJOR line (4.x), not the npm package version."
8
+ },
9
+ "id": {
10
+ "type": "string"
11
+ },
12
+ "title": {
13
+ "type": "string"
14
+ },
15
+ "type": {
16
+ "$ref": "#/definitions/UMLDiagramType"
17
+ },
18
+ "nodes": {
19
+ "type": "array",
20
+ "items": {
21
+ "type": "object",
22
+ "properties": {
23
+ "id": {
24
+ "type": "string"
25
+ },
26
+ "width": {
27
+ "type": "number"
28
+ },
29
+ "height": {
30
+ "type": "number"
31
+ },
32
+ "type": {
33
+ "$ref": "#/definitions/DiagramNodeType"
34
+ },
35
+ "position": {
36
+ "type": "object",
37
+ "properties": {
38
+ "x": {
39
+ "type": "number"
40
+ },
41
+ "y": {
42
+ "type": "number"
43
+ }
44
+ },
45
+ "additionalProperties": false,
46
+ "required": [
47
+ "x",
48
+ "y"
49
+ ]
50
+ },
51
+ "data": {
52
+ "type": "object",
53
+ "additionalProperties": {}
54
+ },
55
+ "parentId": {
56
+ "type": "string"
57
+ },
58
+ "measured": {
59
+ "type": "object",
60
+ "properties": {
61
+ "width": {
62
+ "type": "number"
63
+ },
64
+ "height": {
65
+ "type": "number"
66
+ }
67
+ },
68
+ "additionalProperties": false,
69
+ "required": [
70
+ "height",
71
+ "width"
72
+ ]
73
+ }
74
+ },
75
+ "additionalProperties": false,
76
+ "required": [
77
+ "data",
78
+ "height",
79
+ "id",
80
+ "measured",
81
+ "position",
82
+ "type",
83
+ "width"
84
+ ]
85
+ }
86
+ },
87
+ "edges": {
88
+ "type": "array",
89
+ "items": {
90
+ "type": "object",
91
+ "properties": {
92
+ "id": {
93
+ "type": "string"
94
+ },
95
+ "source": {
96
+ "type": "string"
97
+ },
98
+ "target": {
99
+ "type": "string"
100
+ },
101
+ "type": {
102
+ "$ref": "#/definitions/DiagramEdgeType"
103
+ },
104
+ "sourceHandle": {
105
+ "type": "string"
106
+ },
107
+ "targetHandle": {
108
+ "type": "string"
109
+ },
110
+ "data": {
111
+ "$ref": "#/definitions/OrthogonalEdgeData"
112
+ }
113
+ },
114
+ "additionalProperties": false,
115
+ "required": [
116
+ "data",
117
+ "id",
118
+ "source",
119
+ "sourceHandle",
120
+ "target",
121
+ "targetHandle",
122
+ "type"
123
+ ]
124
+ }
125
+ },
126
+ "assessments": {
127
+ "type": "object",
128
+ "additionalProperties": {
129
+ "type": "object",
130
+ "properties": {
131
+ "modelElementId": {
132
+ "type": "string"
133
+ },
134
+ "elementType": {
135
+ "type": "string"
136
+ },
137
+ "score": {
138
+ "type": "number"
139
+ },
140
+ "feedback": {
141
+ "type": "string"
142
+ },
143
+ "dropInfo": {},
144
+ "label": {
145
+ "type": "string"
146
+ },
147
+ "labelColor": {
148
+ "type": "string"
149
+ },
150
+ "correctionStatus": {
151
+ "type": "object",
152
+ "properties": {
153
+ "description": {
154
+ "type": "string"
155
+ },
156
+ "status": {
157
+ "enum": [
158
+ "CORRECT",
159
+ "INCORRECT",
160
+ "NOT_VALIDATED"
161
+ ],
162
+ "type": "string"
163
+ }
164
+ },
165
+ "additionalProperties": false,
166
+ "required": [
167
+ "status"
168
+ ]
169
+ }
170
+ },
171
+ "additionalProperties": false,
172
+ "required": [
173
+ "elementType",
174
+ "modelElementId",
175
+ "score"
176
+ ]
177
+ }
178
+ },
179
+ "interactive": {
180
+ "type": "object",
181
+ "properties": {
182
+ "elements": {
183
+ "type": "object",
184
+ "additionalProperties": {
185
+ "type": "boolean"
186
+ }
187
+ },
188
+ "relationships": {
189
+ "type": "object",
190
+ "additionalProperties": {
191
+ "type": "boolean"
192
+ }
193
+ }
194
+ },
195
+ "additionalProperties": false,
196
+ "required": [
197
+ "elements",
198
+ "relationships"
199
+ ]
200
+ }
201
+ },
202
+ "additionalProperties": false,
203
+ "required": [
204
+ "assessments",
205
+ "edges",
206
+ "id",
207
+ "nodes",
208
+ "title",
209
+ "type",
210
+ "version"
211
+ ],
212
+ "definitions": {
213
+ "UMLDiagramType": {
214
+ "enum": [
215
+ "ActivityDiagram",
216
+ "BPMN",
217
+ "ClassDiagram",
218
+ "CommunicationDiagram",
219
+ "ComponentDiagram",
220
+ "DeploymentDiagram",
221
+ "Flowchart",
222
+ "ObjectDiagram",
223
+ "PetriNet",
224
+ "ReachabilityGraph",
225
+ "Sfc",
226
+ "SyntaxTree",
227
+ "UseCaseDiagram"
228
+ ],
229
+ "type": "string"
230
+ },
231
+ "DiagramNodeType": {
232
+ "enum": [
233
+ "activity",
234
+ "activityActionNode",
235
+ "activityFinalNode",
236
+ "activityForkNode",
237
+ "activityForkNodeHorizontal",
238
+ "activityInitialNode",
239
+ "activityMergeNode",
240
+ "activityObjectNode",
241
+ "bpmnAnnotation",
242
+ "bpmnCallActivity",
243
+ "bpmnDataObject",
244
+ "bpmnDataStore",
245
+ "bpmnEndEvent",
246
+ "bpmnGateway",
247
+ "bpmnGroup",
248
+ "bpmnIntermediateEvent",
249
+ "bpmnPool",
250
+ "bpmnStartEvent",
251
+ "bpmnSubprocess",
252
+ "bpmnTask",
253
+ "bpmnTransaction",
254
+ "class",
255
+ "colorDescription",
256
+ "communicationObjectName",
257
+ "component",
258
+ "componentInterface",
259
+ "componentSubsystem",
260
+ "deploymentArtifact",
261
+ "deploymentComponent",
262
+ "deploymentInterface",
263
+ "deploymentNode",
264
+ "flowchartDecision",
265
+ "flowchartFunctionCall",
266
+ "flowchartInputOutput",
267
+ "flowchartProcess",
268
+ "flowchartTerminal",
269
+ "objectName",
270
+ "package",
271
+ "petriNetPlace",
272
+ "petriNetTransition",
273
+ "reachabilityGraphMarking",
274
+ "sfcActionTable",
275
+ "sfcJump",
276
+ "sfcStart",
277
+ "sfcStep",
278
+ "sfcTransitionBranch",
279
+ "syntaxTreeNonterminal",
280
+ "syntaxTreeTerminal",
281
+ "titleAndDesctiption",
282
+ "useCase",
283
+ "useCaseActor",
284
+ "useCaseSystem"
285
+ ],
286
+ "type": "string"
287
+ },
288
+ "DiagramEdgeType": {
289
+ "enum": [
290
+ "ActivityControlFlow",
291
+ "BPMNAssociationFlow",
292
+ "BPMNDataAssociationFlow",
293
+ "BPMNMessageFlow",
294
+ "BPMNSequenceFlow",
295
+ "ClassAggregation",
296
+ "ClassBidirectional",
297
+ "ClassComposition",
298
+ "ClassDependency",
299
+ "ClassInheritance",
300
+ "ClassRealization",
301
+ "ClassUnidirectional",
302
+ "CommunicationLink",
303
+ "ComponentDependency",
304
+ "ComponentProvidedInterface",
305
+ "ComponentRequiredInterface",
306
+ "ComponentRequiredQuarterInterface",
307
+ "ComponentRequiredThreeQuarterInterface",
308
+ "DeploymentAssociation",
309
+ "DeploymentDependency",
310
+ "DeploymentProvidedInterface",
311
+ "DeploymentRequiredInterface",
312
+ "DeploymentRequiredQuarterInterface",
313
+ "DeploymentRequiredThreeQuarterInterface",
314
+ "FlowChartFlowline",
315
+ "ObjectLink",
316
+ "PetriNetArc",
317
+ "ReachabilityGraphArc",
318
+ "SfcDiagramEdge",
319
+ "SyntaxTreeLink",
320
+ "UseCaseAssociation",
321
+ "UseCaseExtend",
322
+ "UseCaseGeneralization",
323
+ "UseCaseInclude"
324
+ ],
325
+ "type": "string"
326
+ },
327
+ "OrthogonalEdgeData": {
328
+ "type": "object",
329
+ "additionalProperties": {},
330
+ "properties": {
331
+ "points": {
332
+ "type": "array",
333
+ "items": {
334
+ "$ref": "#/definitions/IPoint"
335
+ }
336
+ }
337
+ },
338
+ "required": [
339
+ "points"
340
+ ]
341
+ },
342
+ "IPoint": {
343
+ "type": "object",
344
+ "properties": {
345
+ "x": {
346
+ "type": "number"
347
+ },
348
+ "y": {
349
+ "type": "number"
350
+ }
351
+ },
352
+ "additionalProperties": false,
353
+ "required": [
354
+ "x",
355
+ "y"
356
+ ]
357
+ }
358
+ },
359
+ "$schema": "http://json-schema.org/draft-07/schema#",
360
+ "$id": "https://unpkg.com/@tumaet/apollon/schema/uml-model-4.schema.json",
361
+ "title": "Apollon UML model (v4)",
362
+ "description": "Canonical v4 Apollon diagram model — the output of importDiagram(). See https://ls1intum.github.io/Apollon/library/api/model-contract."
363
+ }