@tumaet/apollon 4.9.0 → 5.0.1

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 (410) hide show
  1. package/README.md +27 -63
  2. package/dist/assets/style.css +2 -1
  3. package/dist/export.js +189 -205
  4. package/dist/exportFonts-B_CLIgms.js +5 -0
  5. package/dist/exportStyles-sXOp3rln.js +5 -0
  6. package/dist/fontStack-BKkvgDI3.js +4 -0
  7. package/dist/index.d.ts +237 -58
  8. package/dist/index.js +16850 -36346
  9. package/dist/internals.d.ts +2 -10
  10. package/dist/internals.js +28 -46
  11. package/dist/versionConverter-C-s36Ory.js +4769 -0
  12. package/package.json +33 -79
  13. package/dist/exportFonts-DxO9jrR1.js +0 -19
  14. package/dist/exportStyles-Co-WBqTa.js +0 -5
  15. package/dist/external/LICENSE-InterFont +0 -92
  16. package/dist/external/exportFonts-DxO9jrR1.js +0 -19
  17. package/dist/external/exportStyles-Co-WBqTa.js +0 -5
  18. package/dist/external/index.js +0 -22191
  19. package/dist/fontStack-DOtVH2j8.js +0 -5
  20. package/dist/react/App.d.ts +0 -9
  21. package/dist/react/LICENSE-InterFont +0 -92
  22. package/dist/react/apollon-editor.d.ts +0 -184
  23. package/dist/react/components/AlignmentGuides.d.ts +0 -1
  24. package/dist/react/components/AssessmentSelectableElement.d.ts +0 -10
  25. package/dist/react/components/AssessmentSelectionDebug.d.ts +0 -1
  26. package/dist/react/components/CustomBackground.d.ts +0 -1
  27. package/dist/react/components/CustomControls.d.ts +0 -8
  28. package/dist/react/components/CustomMiniMap.d.ts +0 -1
  29. package/dist/react/components/DraggableGhost.d.ts +0 -13
  30. package/dist/react/components/Icon/ArrowBackIcon.d.ts +0 -4
  31. package/dist/react/components/Icon/ArrowForwardIcon.d.ts +0 -4
  32. package/dist/react/components/Icon/CheckIcon.d.ts +0 -4
  33. package/dist/react/components/Icon/CrossIcon.d.ts +0 -4
  34. package/dist/react/components/Icon/DeleteIcon.d.ts +0 -4
  35. package/dist/react/components/Icon/DragHandleIcon.d.ts +0 -4
  36. package/dist/react/components/Icon/EditIcon.d.ts +0 -4
  37. package/dist/react/components/Icon/ExclamationIcon.d.ts +0 -4
  38. package/dist/react/components/Icon/InfiniteIcon.d.ts +0 -4
  39. package/dist/react/components/Icon/MapIcon.d.ts +0 -4
  40. package/dist/react/components/Icon/PaintRollerIcon.d.ts +0 -2
  41. package/dist/react/components/Icon/RedoIcon.d.ts +0 -2
  42. package/dist/react/components/Icon/SouthEastArrowIcon.d.ts +0 -4
  43. package/dist/react/components/Icon/SwapHorizIcon.d.ts +0 -4
  44. package/dist/react/components/Icon/UndoIcon.d.ts +0 -2
  45. package/dist/react/components/Icon/index.d.ts +0 -14
  46. package/dist/react/components/ReconnectConnectionLine.d.ts +0 -2
  47. package/dist/react/components/ScrollOverlay.d.ts +0 -7
  48. package/dist/react/components/Sidebar.d.ts +0 -2
  49. package/dist/react/components/collaboration/CollaborationLayer.d.ts +0 -25
  50. package/dist/react/components/collaboration/coordinates.d.ts +0 -7
  51. package/dist/react/components/index.d.ts +0 -18
  52. package/dist/react/components/popovers/DefaultNodeEditPopover.d.ts +0 -2
  53. package/dist/react/components/popovers/DefaultNodeGiveFeedbackPopover.d.ts +0 -2
  54. package/dist/react/components/popovers/DefaultNodeSeeFeedbackPopover.d.ts +0 -2
  55. package/dist/react/components/popovers/GenericPopover.d.ts +0 -17
  56. package/dist/react/components/popovers/GiveFeedbackAssessmentBox.d.ts +0 -7
  57. package/dist/react/components/popovers/PopoverManager.d.ts +0 -10
  58. package/dist/react/components/popovers/SeeFeedbackAssessmentBox.d.ts +0 -5
  59. package/dist/react/components/popovers/activityDiagram/ActivitySwimlaneEditPopover.d.ts +0 -2
  60. package/dist/react/components/popovers/activityDiagram/index.d.ts +0 -1
  61. package/dist/react/components/popovers/bpmnDiagram/BPMNEndEventEditPopover.d.ts +0 -2
  62. package/dist/react/components/popovers/bpmnDiagram/BPMNGatewayEditPopover.d.ts +0 -2
  63. package/dist/react/components/popovers/bpmnDiagram/BPMNIntermediateEventEditPopover.d.ts +0 -2
  64. package/dist/react/components/popovers/bpmnDiagram/BPMNPoolEditPopover.d.ts +0 -2
  65. package/dist/react/components/popovers/bpmnDiagram/BPMNStartEventEditPopover.d.ts +0 -2
  66. package/dist/react/components/popovers/bpmnDiagram/BPMNTaskEditPopover.d.ts +0 -2
  67. package/dist/react/components/popovers/bpmnDiagram/index.d.ts +0 -6
  68. package/dist/react/components/popovers/classDiagram/ClassEditPopover.d.ts +0 -2
  69. package/dist/react/components/popovers/classDiagram/ClassGiveFeedbackPopover.d.ts +0 -2
  70. package/dist/react/components/popovers/classDiagram/ClassSeeFeedbackPopover.d.ts +0 -2
  71. package/dist/react/components/popovers/classDiagram/EditableAttributesList.d.ts +0 -6
  72. package/dist/react/components/popovers/classDiagram/EditableMethodsList.d.ts +0 -6
  73. package/dist/react/components/popovers/classDiagram/index.d.ts +0 -6
  74. package/dist/react/components/popovers/communicationDiagram/CommunicationObjectNameEditPopover.d.ts +0 -2
  75. package/dist/react/components/popovers/communicationDiagram/CommunicationObjectNameGiveFeedbackPopover.d.ts +0 -2
  76. package/dist/react/components/popovers/communicationDiagram/CommunicationObjectNameSeeFeedbackPopover.d.ts +0 -2
  77. package/dist/react/components/popovers/communicationDiagram/index.d.ts +0 -3
  78. package/dist/react/components/popovers/componentDiagram/ComponentEditPopover.d.ts +0 -2
  79. package/dist/react/components/popovers/componentDiagram/ComponentSubsystemEditPopover.d.ts +0 -2
  80. package/dist/react/components/popovers/componentDiagram/index.d.ts +0 -2
  81. package/dist/react/components/popovers/deploymentDiagram/DeploymentComponentEditPopover.d.ts +0 -2
  82. package/dist/react/components/popovers/deploymentDiagram/DeploymentNodeEditPopover.d.ts +0 -2
  83. package/dist/react/components/popovers/deploymentDiagram/index.d.ts +0 -2
  84. package/dist/react/components/popovers/edgePopovers/ActivityDiagramEdgeEditPopover.d.ts +0 -2
  85. package/dist/react/components/popovers/edgePopovers/BPMNDiagramEdgeEditPopover.d.ts +0 -2
  86. package/dist/react/components/popovers/edgePopovers/ClassDiagramEdgeEditPopover.d.ts +0 -2
  87. package/dist/react/components/popovers/edgePopovers/CommunicationDiagramEdgeEditPopover.d.ts +0 -2
  88. package/dist/react/components/popovers/edgePopovers/ComponentDiagramEdgeEditPopover.d.ts +0 -2
  89. package/dist/react/components/popovers/edgePopovers/DeploymentDiagramEdgeEditPopover.d.ts +0 -2
  90. package/dist/react/components/popovers/edgePopovers/EdgeGiveFeedbackPopover.d.ts +0 -2
  91. package/dist/react/components/popovers/edgePopovers/EdgeSeeFeedbackPopover.d.ts +0 -2
  92. package/dist/react/components/popovers/edgePopovers/EdgeTypePreviewIcon.d.ts +0 -3
  93. package/dist/react/components/popovers/edgePopovers/EdgeTypeSelect.d.ts +0 -9
  94. package/dist/react/components/popovers/edgePopovers/FlowChartEdgeEditPopover.d.ts +0 -2
  95. package/dist/react/components/popovers/edgePopovers/ObjectDiagramEdgeEditPopover.d.ts +0 -2
  96. package/dist/react/components/popovers/edgePopovers/PetriNetEdgeEditPopover.d.ts +0 -2
  97. package/dist/react/components/popovers/edgePopovers/ReachabilityGraphEdgeEditPopover.d.ts +0 -2
  98. package/dist/react/components/popovers/edgePopovers/SwapEndsButton.d.ts +0 -9
  99. package/dist/react/components/popovers/edgePopovers/SyntaxTreeEdgeEditPopover.d.ts +0 -2
  100. package/dist/react/components/popovers/edgePopovers/UseCaseDiagramEdgeEditPopover.d.ts +0 -2
  101. package/dist/react/components/popovers/edgePopovers/index.d.ts +0 -8
  102. package/dist/react/components/popovers/index.d.ts +0 -3
  103. package/dist/react/components/popovers/objectDiagram/ObjectEditPopover.d.ts +0 -2
  104. package/dist/react/components/popovers/objectDiagram/ObjectGiveFeedbackPopover.d.ts +0 -2
  105. package/dist/react/components/popovers/objectDiagram/ObjectSeeFeedbackPopover.d.ts +0 -2
  106. package/dist/react/components/popovers/objectDiagram/index.d.ts +0 -3
  107. package/dist/react/components/popovers/petriNetDiagram/PetriNetPlaceEditPopover.d.ts +0 -2
  108. package/dist/react/components/popovers/petriNetDiagram/index.d.ts +0 -1
  109. package/dist/react/components/popovers/reachabilityGraphDiagram/ReachabilityGraphMarkingEditPopover.d.ts +0 -2
  110. package/dist/react/components/popovers/reachabilityGraphDiagram/index.d.ts +0 -1
  111. package/dist/react/components/popovers/sfcDiagram/SfcActionTableEditPopover.d.ts +0 -3
  112. package/dist/react/components/popovers/sfcDiagram/SfcEdgeEditPopover.d.ts +0 -2
  113. package/dist/react/components/popovers/sfcDiagram/index.d.ts +0 -2
  114. package/dist/react/components/popovers/syntaxTreeDiagram/SyntaxTreeNonterminalEditPopover.d.ts +0 -2
  115. package/dist/react/components/popovers/syntaxTreeDiagram/SyntaxTreeTerminalEditPopover.d.ts +0 -2
  116. package/dist/react/components/popovers/syntaxTreeDiagram/index.d.ts +0 -2
  117. package/dist/react/components/popovers/types.d.ts +0 -6
  118. package/dist/react/components/react/Apollon.d.ts +0 -50
  119. package/dist/react/components/react/ApollonControl.d.ts +0 -18
  120. package/dist/react/components/react/context.d.ts +0 -16
  121. package/dist/react/components/react/useApollonSubscription.d.ts +0 -17
  122. package/dist/react/components/svgs/AssessmentIcon.d.ts +0 -8
  123. package/dist/react/components/svgs/StyledElements.d.ts +0 -2
  124. package/dist/react/components/svgs/edges/InlineMarker.d.ts +0 -70
  125. package/dist/react/components/svgs/edges/index.d.ts +0 -1
  126. package/dist/react/components/svgs/index.d.ts +0 -3
  127. package/dist/react/components/svgs/nodes/CustomText.d.ts +0 -10
  128. package/dist/react/components/svgs/nodes/HeaderSection.d.ts +0 -14
  129. package/dist/react/components/svgs/nodes/InterfaceLabel.d.ts +0 -26
  130. package/dist/react/components/svgs/nodes/MultilineText.d.ts +0 -51
  131. package/dist/react/components/svgs/nodes/RowBlockSection.d.ts +0 -15
  132. package/dist/react/components/svgs/nodes/SeparationLine.d.ts +0 -8
  133. package/dist/react/components/svgs/nodes/StereotypeAndName.d.ts +0 -54
  134. package/dist/react/components/svgs/nodes/activityDiagram/ActivityActionNodeSVG.d.ts +0 -6
  135. package/dist/react/components/svgs/nodes/activityDiagram/ActivityFinalNodeSVG.d.ts +0 -2
  136. package/dist/react/components/svgs/nodes/activityDiagram/ActivityForkNodeHorizontalSVG.d.ts +0 -7
  137. package/dist/react/components/svgs/nodes/activityDiagram/ActivityForkNodeSVG.d.ts +0 -7
  138. package/dist/react/components/svgs/nodes/activityDiagram/ActivityInitialNodeSVG.d.ts +0 -2
  139. package/dist/react/components/svgs/nodes/activityDiagram/ActivityMergeNodeSVG.d.ts +0 -7
  140. package/dist/react/components/svgs/nodes/activityDiagram/ActivityObjectNodeSVG.d.ts +0 -7
  141. package/dist/react/components/svgs/nodes/activityDiagram/ActivitySVG.d.ts +0 -6
  142. package/dist/react/components/svgs/nodes/activityDiagram/ActivitySwimlaneSVG.d.ts +0 -9
  143. package/dist/react/components/svgs/nodes/activityDiagram/index.d.ts +0 -9
  144. package/dist/react/components/svgs/nodes/bpmnDiagram/BPMNAnnotationNodeSVG.d.ts +0 -7
  145. package/dist/react/components/svgs/nodes/bpmnDiagram/BPMNDataObjectNodeSVG.d.ts +0 -7
  146. package/dist/react/components/svgs/nodes/bpmnDiagram/BPMNDataStoreNodeSVG.d.ts +0 -7
  147. package/dist/react/components/svgs/nodes/bpmnDiagram/BPMNEventNodeSVG.d.ts +0 -8
  148. package/dist/react/components/svgs/nodes/bpmnDiagram/BPMNGatewayNodeSVG.d.ts +0 -7
  149. package/dist/react/components/svgs/nodes/bpmnDiagram/BPMNGroupNodeSVG.d.ts +0 -7
  150. package/dist/react/components/svgs/nodes/bpmnDiagram/BPMNPoolNodeSVG.d.ts +0 -7
  151. package/dist/react/components/svgs/nodes/bpmnDiagram/BPMNSubprocessNodeSVG.d.ts +0 -8
  152. package/dist/react/components/svgs/nodes/bpmnDiagram/BPMNTaskNodeSVG.d.ts +0 -6
  153. package/dist/react/components/svgs/nodes/bpmnDiagram/index.d.ts +0 -9
  154. package/dist/react/components/svgs/nodes/classDiagram/ClassSVG.d.ts +0 -10
  155. package/dist/react/components/svgs/nodes/classDiagram/ColorDescriptionSVG.d.ts +0 -10
  156. package/dist/react/components/svgs/nodes/classDiagram/PackageSVG.d.ts +0 -6
  157. package/dist/react/components/svgs/nodes/classDiagram/TitleAndDescriptionSVG.d.ts +0 -11
  158. package/dist/react/components/svgs/nodes/classDiagram/index.d.ts +0 -4
  159. package/dist/react/components/svgs/nodes/communicationDiagram/CommunicationObjectNameSVG.d.ts +0 -6
  160. package/dist/react/components/svgs/nodes/communicationDiagram/index.d.ts +0 -1
  161. package/dist/react/components/svgs/nodes/componentDiagram/ComponentInterfaceNodeSVG.d.ts +0 -9
  162. package/dist/react/components/svgs/nodes/componentDiagram/ComponentNodeSVG.d.ts +0 -7
  163. package/dist/react/components/svgs/nodes/componentDiagram/ComponentSubsystemNodeSVG.d.ts +0 -7
  164. package/dist/react/components/svgs/nodes/componentDiagram/index.d.ts +0 -3
  165. package/dist/react/components/svgs/nodes/deploymentDiagram/DeploymentArtifactSVG.d.ts +0 -7
  166. package/dist/react/components/svgs/nodes/deploymentDiagram/DeploymentComponentSVG.d.ts +0 -7
  167. package/dist/react/components/svgs/nodes/deploymentDiagram/DeploymentInterfaceSVG.d.ts +0 -9
  168. package/dist/react/components/svgs/nodes/deploymentDiagram/DeploymentNodeSVG.d.ts +0 -7
  169. package/dist/react/components/svgs/nodes/deploymentDiagram/index.d.ts +0 -4
  170. package/dist/react/components/svgs/nodes/flowchartDiagram/FlowchartDecisionNodeSVG.d.ts +0 -7
  171. package/dist/react/components/svgs/nodes/flowchartDiagram/FlowchartFunctionCallNodeSVG.d.ts +0 -7
  172. package/dist/react/components/svgs/nodes/flowchartDiagram/FlowchartInputOutputNodeSVG.d.ts +0 -7
  173. package/dist/react/components/svgs/nodes/flowchartDiagram/FlowchartProcessNodeSVG.d.ts +0 -7
  174. package/dist/react/components/svgs/nodes/flowchartDiagram/FlowchartTerminalNodeSVG.d.ts +0 -7
  175. package/dist/react/components/svgs/nodes/flowchartDiagram/index.d.ts +0 -5
  176. package/dist/react/components/svgs/nodes/index.d.ts +0 -13
  177. package/dist/react/components/svgs/nodes/objectDiagram/ObjectNameSVG.d.ts +0 -7
  178. package/dist/react/components/svgs/nodes/objectDiagram/index.d.ts +0 -1
  179. package/dist/react/components/svgs/nodes/petriNetDiagram/PetriNetPlaceSVG.d.ts +0 -7
  180. package/dist/react/components/svgs/nodes/petriNetDiagram/PetriNetTransitionSVG.d.ts +0 -7
  181. package/dist/react/components/svgs/nodes/petriNetDiagram/index.d.ts +0 -2
  182. package/dist/react/components/svgs/nodes/reachabilityGraphDiagram/ReachabilityGraphMarkingSVG.d.ts +0 -7
  183. package/dist/react/components/svgs/nodes/reachabilityGraphDiagram/index.d.ts +0 -1
  184. package/dist/react/components/svgs/nodes/sfcDiagram/SfcActionTableNodeSVG.d.ts +0 -7
  185. package/dist/react/components/svgs/nodes/sfcDiagram/SfcJumpNodeSVG.d.ts +0 -7
  186. package/dist/react/components/svgs/nodes/sfcDiagram/SfcStartNodeSVG.d.ts +0 -7
  187. package/dist/react/components/svgs/nodes/sfcDiagram/SfcStepNodeSVG.d.ts +0 -7
  188. package/dist/react/components/svgs/nodes/sfcDiagram/SfcTransitionBranchNodeSVG.d.ts +0 -7
  189. package/dist/react/components/svgs/nodes/sfcDiagram/index.d.ts +0 -5
  190. package/dist/react/components/svgs/nodes/syntaxTreeDiagram/SyntaxTreeNonterminalNodeSVG.d.ts +0 -7
  191. package/dist/react/components/svgs/nodes/syntaxTreeDiagram/SyntaxTreeTerminalNodeSVG.d.ts +0 -7
  192. package/dist/react/components/svgs/nodes/syntaxTreeDiagram/index.d.ts +0 -2
  193. package/dist/react/components/svgs/nodes/useCaseDiagram/UseCaseActorNodeSVG.d.ts +0 -7
  194. package/dist/react/components/svgs/nodes/useCaseDiagram/UseCaseNodeSVG.d.ts +0 -7
  195. package/dist/react/components/svgs/nodes/useCaseDiagram/UseCaseSystemNodeSVG.d.ts +0 -7
  196. package/dist/react/components/svgs/nodes/useCaseDiagram/index.d.ts +0 -3
  197. package/dist/react/components/toolbars/NodeToolbar.d.ts +0 -7
  198. package/dist/react/components/toolbars/edgeToolBar/CustomEdgeToolBar.d.ts +0 -12
  199. package/dist/react/components/toolbars/edgeToolBar/index.d.ts +0 -1
  200. package/dist/react/components/toolbars/index.d.ts +0 -1
  201. package/dist/react/components/ui/DividerLine.d.ts +0 -9
  202. package/dist/react/components/ui/HeaderSwitchElement.d.ts +0 -7
  203. package/dist/react/components/ui/PrimaryButton.d.ts +0 -8
  204. package/dist/react/components/ui/StereotypeButtonGroup.d.ts +0 -8
  205. package/dist/react/components/ui/StyleEditor/ColorButtons.d.ts +0 -11
  206. package/dist/react/components/ui/StyleEditor/EdgeStyleEditor.d.ts +0 -11
  207. package/dist/react/components/ui/StyleEditor/NodeStyleEditor.d.ts +0 -22
  208. package/dist/react/components/ui/StyleEditor/index.d.ts +0 -2
  209. package/dist/react/components/ui/TextField.d.ts +0 -3
  210. package/dist/react/components/ui/Typography.d.ts +0 -3
  211. package/dist/react/components/ui/index.d.ts +0 -7
  212. package/dist/react/components/wrapper/AssessmentSelectableWrapper.d.ts +0 -11
  213. package/dist/react/components/wrapper/FeedbackDropzone.d.ts +0 -10
  214. package/dist/react/components/wrapper/index.d.ts +0 -2
  215. package/dist/react/constants.d.ts +0 -261
  216. package/dist/react/edges/Connection.d.ts +0 -36
  217. package/dist/react/edges/EdgeProps.d.ts +0 -24
  218. package/dist/react/edges/GenericEdge.d.ts +0 -78
  219. package/dist/react/edges/edgeTypes/ActivityDiagramEdge.d.ts +0 -2
  220. package/dist/react/edges/edgeTypes/BPMNDiagramEdge.d.ts +0 -2
  221. package/dist/react/edges/edgeTypes/ClassDiagramEdge.d.ts +0 -2
  222. package/dist/react/edges/edgeTypes/CommunicationDiagramEdge.d.ts +0 -2
  223. package/dist/react/edges/edgeTypes/ComponentDiagramEdge.d.ts +0 -2
  224. package/dist/react/edges/edgeTypes/DeploymentDiagramEdge.d.ts +0 -2
  225. package/dist/react/edges/edgeTypes/FlowChartEdge.d.ts +0 -2
  226. package/dist/react/edges/edgeTypes/ObjectDiagramEdge.d.ts +0 -2
  227. package/dist/react/edges/edgeTypes/PetriNetEdge.d.ts +0 -2
  228. package/dist/react/edges/edgeTypes/ReachabilityGraphArc.d.ts +0 -2
  229. package/dist/react/edges/edgeTypes/SfcDiagramEdge.d.ts +0 -2
  230. package/dist/react/edges/edgeTypes/SyntaxTreeEdge.d.ts +0 -2
  231. package/dist/react/edges/edgeTypes/UseCaseDiagramEdge.d.ts +0 -2
  232. package/dist/react/edges/edgeTypes/index.d.ts +0 -6
  233. package/dist/react/edges/index.d.ts +0 -3
  234. package/dist/react/edges/labelTypes/EdgeEndLabels.d.ts +0 -19
  235. package/dist/react/edges/labelTypes/EdgeIncludeExtendLabel.d.ts +0 -10
  236. package/dist/react/edges/labelTypes/EdgeMiddleLabels.d.ts +0 -18
  237. package/dist/react/edges/labelTypes/EdgeMultipleLabels.d.ts +0 -14
  238. package/dist/react/edges/labelTypes/messageLayout.d.ts +0 -51
  239. package/dist/react/edges/types.d.ts +0 -153
  240. package/dist/react/enums/Quadrant.d.ts +0 -6
  241. package/dist/react/enums/index.d.ts +0 -1
  242. package/dist/react/export/exportErrors.d.ts +0 -10
  243. package/dist/react/export/index.d.ts +0 -13
  244. package/dist/react/export/normalizeExportSvg.d.ts +0 -16
  245. package/dist/react/export/preProcessSvgForPdf.d.ts +0 -20
  246. package/dist/react/export/svgToPdf.d.ts +0 -17
  247. package/dist/react/export/svgToPng.d.ts +0 -38
  248. package/dist/react/exportFonts-DSRUaduf.js +0 -20
  249. package/dist/react/exportStyles-yVX7Dykt.js +0 -6
  250. package/dist/react/fontStack.d.ts +0 -14
  251. package/dist/react/hooks/index.d.ts +0 -18
  252. package/dist/react/hooks/useAssessmentSelection.d.ts +0 -13
  253. package/dist/react/hooks/useConnect.d.ts +0 -7
  254. package/dist/react/hooks/useDiagramModifiable.d.ts +0 -1
  255. package/dist/react/hooks/useDragOver.d.ts +0 -2
  256. package/dist/react/hooks/useDropFeedback.d.ts +0 -7
  257. package/dist/react/hooks/useEdgeConfig.d.ts +0 -83
  258. package/dist/react/hooks/useEdgeLineJumps.d.ts +0 -27
  259. package/dist/react/hooks/useEdgeToolbar.d.ts +0 -6
  260. package/dist/react/hooks/useEdges.d.ts +0 -9
  261. package/dist/react/hooks/useElementInteractions.d.ts +0 -6
  262. package/dist/react/hooks/useGoToNextAssessment.d.ts +0 -1
  263. package/dist/react/hooks/useHandleDelete.d.ts +0 -1
  264. package/dist/react/hooks/useHandleFinder.d.ts +0 -11
  265. package/dist/react/hooks/useHandleOnResize.d.ts +0 -4
  266. package/dist/react/hooks/useIsOnlyThisElementSelected.d.ts +0 -1
  267. package/dist/react/hooks/useKeyboardShortcuts.d.ts +0 -1
  268. package/dist/react/hooks/useNodeDrag.d.ts +0 -2
  269. package/dist/react/hooks/useNodeDragStop.d.ts +0 -2
  270. package/dist/react/hooks/usePaneClicked.d.ts +0 -3
  271. package/dist/react/hooks/usePopoverAnchor.d.ts +0 -26
  272. package/dist/react/hooks/useReactiveElement.d.ts +0 -10
  273. package/dist/react/hooks/useReconnect.d.ts +0 -2
  274. package/dist/react/hooks/useRemoteDraggingNodes.d.ts +0 -20
  275. package/dist/react/hooks/useSelectionForCopyPaste.d.ts +0 -10
  276. package/dist/react/hooks/useStepPathEdge.d.ts +0 -62
  277. package/dist/react/hooks/useStraightPathEdge.d.ts +0 -23
  278. package/dist/react/hooks/useViewPointCenter.d.ts +0 -2
  279. package/dist/react/index.d.ts +0 -9
  280. package/dist/react/internals.d.ts +0 -5
  281. package/dist/react/logger.d.ts +0 -10
  282. package/dist/react/nodes/TitleAndDescriptionNode.d.ts +0 -7
  283. package/dist/react/nodes/activityDiagram/Activity.d.ts +0 -3
  284. package/dist/react/nodes/activityDiagram/ActivityActionNode.d.ts +0 -3
  285. package/dist/react/nodes/activityDiagram/ActivityFinalNode.d.ts +0 -3
  286. package/dist/react/nodes/activityDiagram/ActivityForkNode.d.ts +0 -3
  287. package/dist/react/nodes/activityDiagram/ActivityForkNodeHorizontal.d.ts +0 -3
  288. package/dist/react/nodes/activityDiagram/ActivityInitialNode.d.ts +0 -3
  289. package/dist/react/nodes/activityDiagram/ActivityMergeNode.d.ts +0 -3
  290. package/dist/react/nodes/activityDiagram/ActivityObjectNode.d.ts +0 -3
  291. package/dist/react/nodes/activityDiagram/ActivitySwimlane.d.ts +0 -3
  292. package/dist/react/nodes/activityDiagram/index.d.ts +0 -9
  293. package/dist/react/nodes/bpmn/BPMNAnnotation.d.ts +0 -3
  294. package/dist/react/nodes/bpmn/BPMNCallActivity.d.ts +0 -3
  295. package/dist/react/nodes/bpmn/BPMNDataObject.d.ts +0 -3
  296. package/dist/react/nodes/bpmn/BPMNDataStore.d.ts +0 -3
  297. package/dist/react/nodes/bpmn/BPMNEndEvent.d.ts +0 -3
  298. package/dist/react/nodes/bpmn/BPMNGateway.d.ts +0 -3
  299. package/dist/react/nodes/bpmn/BPMNGroup.d.ts +0 -3
  300. package/dist/react/nodes/bpmn/BPMNIntermediateEvent.d.ts +0 -3
  301. package/dist/react/nodes/bpmn/BPMNPool.d.ts +0 -3
  302. package/dist/react/nodes/bpmn/BPMNStartEvent.d.ts +0 -3
  303. package/dist/react/nodes/bpmn/BPMNSubprocess.d.ts +0 -3
  304. package/dist/react/nodes/bpmn/BPMNTask.d.ts +0 -3
  305. package/dist/react/nodes/bpmn/BPMNTransaction.d.ts +0 -3
  306. package/dist/react/nodes/bpmn/index.d.ts +0 -13
  307. package/dist/react/nodes/classDiagram/Class.d.ts +0 -3
  308. package/dist/react/nodes/classDiagram/ColorDescription.d.ts +0 -3
  309. package/dist/react/nodes/classDiagram/Package.d.ts +0 -3
  310. package/dist/react/nodes/classDiagram/index.d.ts +0 -3
  311. package/dist/react/nodes/communicationDiagram/CommunicationObjectName.d.ts +0 -3
  312. package/dist/react/nodes/communicationDiagram/index.d.ts +0 -1
  313. package/dist/react/nodes/componentDiagram/Component.d.ts +0 -3
  314. package/dist/react/nodes/componentDiagram/ComponentInterface.d.ts +0 -3
  315. package/dist/react/nodes/componentDiagram/ComponentSubsystem.d.ts +0 -3
  316. package/dist/react/nodes/componentDiagram/index.d.ts +0 -3
  317. package/dist/react/nodes/deploymentDiagram/DeploymentArtifact.d.ts +0 -3
  318. package/dist/react/nodes/deploymentDiagram/DeploymentComponent.d.ts +0 -3
  319. package/dist/react/nodes/deploymentDiagram/DeploymentInterface.d.ts +0 -3
  320. package/dist/react/nodes/deploymentDiagram/DeploymentNode.d.ts +0 -3
  321. package/dist/react/nodes/deploymentDiagram/index.d.ts +0 -4
  322. package/dist/react/nodes/flowchart/FlowchartDecision.d.ts +0 -3
  323. package/dist/react/nodes/flowchart/FlowchartFunctionCall.d.ts +0 -3
  324. package/dist/react/nodes/flowchart/FlowchartInputOutput.d.ts +0 -3
  325. package/dist/react/nodes/flowchart/FlowchartProcess.d.ts +0 -3
  326. package/dist/react/nodes/flowchart/FlowchartTerminal.d.ts +0 -3
  327. package/dist/react/nodes/flowchart/index.d.ts +0 -5
  328. package/dist/react/nodes/index.d.ts +0 -8
  329. package/dist/react/nodes/objectDiagram/ObjectName.d.ts +0 -3
  330. package/dist/react/nodes/objectDiagram/index.d.ts +0 -1
  331. package/dist/react/nodes/petriNetDiagram/PetriNetPlace.d.ts +0 -3
  332. package/dist/react/nodes/petriNetDiagram/PetriNetTransition.d.ts +0 -3
  333. package/dist/react/nodes/petriNetDiagram/index.d.ts +0 -2
  334. package/dist/react/nodes/reachabilityGraphDiagram/ReachabilityGraphMarking.d.ts +0 -3
  335. package/dist/react/nodes/reachabilityGraphDiagram/index.d.ts +0 -1
  336. package/dist/react/nodes/sfcDiagram/SfcActionTable.d.ts +0 -3
  337. package/dist/react/nodes/sfcDiagram/SfcJump.d.ts +0 -3
  338. package/dist/react/nodes/sfcDiagram/SfcStart.d.ts +0 -3
  339. package/dist/react/nodes/sfcDiagram/SfcStep.d.ts +0 -3
  340. package/dist/react/nodes/sfcDiagram/SfcTransitionBranch.d.ts +0 -3
  341. package/dist/react/nodes/sfcDiagram/index.d.ts +0 -5
  342. package/dist/react/nodes/syntaxTreeDiagram/SyntaxTreeNonterminal.d.ts +0 -3
  343. package/dist/react/nodes/syntaxTreeDiagram/SyntaxTreeTerminal.d.ts +0 -3
  344. package/dist/react/nodes/types.d.ts +0 -73
  345. package/dist/react/nodes/useCaseDiagram/UseCase.d.ts +0 -3
  346. package/dist/react/nodes/useCaseDiagram/UseCaseActor.d.ts +0 -3
  347. package/dist/react/nodes/useCaseDiagram/UseCaseSystem.d.ts +0 -3
  348. package/dist/react/nodes/useCaseDiagram/index.d.ts +0 -3
  349. package/dist/react/nodes/wrappers/DefaultNodeWrapper.d.ts +0 -49
  350. package/dist/react/nodes/wrappers/index.d.ts +0 -1
  351. package/dist/react/overlay/OverlayLayer.d.ts +0 -8
  352. package/dist/react/overlay/RegionMount.d.ts +0 -10
  353. package/dist/react/overlay/overlayStore.d.ts +0 -20
  354. package/dist/react/overlay/types.d.ts +0 -48
  355. package/dist/react/react.d.ts +0 -5
  356. package/dist/react/react.js +0 -28177
  357. package/dist/react/services/migration/EdgeTransformer.d.ts +0 -11
  358. package/dist/react/store/alignmentGuidesStore.d.ts +0 -13
  359. package/dist/react/store/assessmentSelectionStore.d.ts +0 -17
  360. package/dist/react/store/context.d.ts +0 -22
  361. package/dist/react/store/diagramStore.d.ts +0 -70
  362. package/dist/react/store/edgeGeometryStore.d.ts +0 -18
  363. package/dist/react/store/index.d.ts +0 -7
  364. package/dist/react/store/metadataStore.d.ts +0 -39
  365. package/dist/react/store/popoverStore.d.ts +0 -9
  366. package/dist/react/styles/theme.d.ts +0 -51
  367. package/dist/react/sync/headless.d.ts +0 -16
  368. package/dist/react/sync/perfCounters.d.ts +0 -6
  369. package/dist/react/sync/ydoc.d.ts +0 -9
  370. package/dist/react/sync/yjsSync.d.ts +0 -63
  371. package/dist/react/types/DiagramType.d.ts +0 -16
  372. package/dist/react/types/SVG.d.ts +0 -8
  373. package/dist/react/types/index.d.ts +0 -3
  374. package/dist/react/types/locationPopover.d.ts +0 -5
  375. package/dist/react/types/nodes/DropNodeDate.d.ts +0 -7
  376. package/dist/react/types/nodes/NodeProps.d.ts +0 -101
  377. package/dist/react/types/nodes/enums/ClassType.d.ts +0 -5
  378. package/dist/react/types/nodes/enums/index.d.ts +0 -1
  379. package/dist/react/types/nodes/index.d.ts +0 -3
  380. package/dist/react/typings.d.ts +0 -186
  381. package/dist/react/utils/alignmentUtils.d.ts +0 -32
  382. package/dist/react/utils/bpmnConstraints.d.ts +0 -5
  383. package/dist/react/utils/collaboration.d.ts +0 -19
  384. package/dist/react/utils/copyPasteUtils.d.ts +0 -32
  385. package/dist/react/utils/deepPartial.d.ts +0 -3
  386. package/dist/react/utils/diagramTypeUtils.d.ts +0 -6
  387. package/dist/react/utils/edgeUtils.d.ts +0 -167
  388. package/dist/react/utils/exportFonts.d.ts +0 -11
  389. package/dist/react/utils/exportStyles.d.ts +0 -30
  390. package/dist/react/utils/exportUtils.d.ts +0 -11
  391. package/dist/react/utils/geometry/bendHandles.d.ts +0 -42
  392. package/dist/react/utils/geometry/edgeLabelLayout.d.ts +0 -123
  393. package/dist/react/utils/geometry/interfaceLabelLayout.d.ts +0 -44
  394. package/dist/react/utils/helpers.d.ts +0 -14
  395. package/dist/react/utils/index.d.ts +0 -19
  396. package/dist/react/utils/interactiveUtils.d.ts +0 -6
  397. package/dist/react/utils/layoutUtils.d.ts +0 -30
  398. package/dist/react/utils/nodeUtils.d.ts +0 -15
  399. package/dist/react/utils/paletteLayout.d.ts +0 -70
  400. package/dist/react/utils/pathParsing.d.ts +0 -54
  401. package/dist/react/utils/popoverUtils.d.ts +0 -3
  402. package/dist/react/utils/quadrantUtils.d.ts +0 -3
  403. package/dist/react/utils/requiredInterfaceUtils.d.ts +0 -18
  404. package/dist/react/utils/storeUtils.d.ts +0 -1
  405. package/dist/react/utils/svgTextLayout.d.ts +0 -86
  406. package/dist/react/utils/swimlaneUtils.d.ts +0 -58
  407. package/dist/react/utils/textUtils.d.ts +0 -1
  408. package/dist/react/utils/v3Typings.d.ts +0 -135
  409. package/dist/react/utils/versionConverter.d.ts +0 -60
  410. package/dist/yjsSync-BCNFF_EI.js +0 -45418
@@ -0,0 +1,5 @@
1
+ //#endregion
2
+ //#region lib/utils/exportStyles.ts
3
+ var e = ".react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-border-default:1px solid #bbb;--xy-node-border-selected-default:1px solid #555;--xy-handle-background-color-default:#333;--xy-selection-background-color-default:#9696b41a;--xy-selection-border-default:1px dotted #9b9b9bcc;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));min-width:5px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{justify-content:center;align-items:center;width:26px;height:26px;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border:var(--xy-node-border,var(--xy-node-border-default));color:var(--xy-node-color,var(--xy-node-color-default))}.react-flow__node-input.selected,.react-flow__node-input:focus,.react-flow__node-input:focus-visible,.react-flow__node-default.selected,.react-flow__node-default:focus,.react-flow__node-default:focus-visible,.react-flow__node-output.selected,.react-flow__node-output:focus,.react-flow__node-output:focus-visible,.react-flow__node-group.selected,.react-flow__node-group:focus,.react-flow__node-group:focus-visible{border:var(--xy-node-border-selected,var(--xy-node-border-selected-default));outline:none}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}\n/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--primitive-white:#fff;--primitive-black:#000;--primitive-blue-500:#2e78b6;--primitive-slate-500:#6c757d;--primitive-gray-50:#f8f9fa;--primitive-gray-100:#e9ecef;--primitive-gray-200:#dee2e6;--primitive-gray-700:#495057;--primitive-warning-yellow:#ffc107;--primitive-warning-bg:#fff3cd;--primitive-warning-border:#ffeeba;--primitive-danger-color:#721c24;--primitive-danger-bg:#f8d7da;--primitive-danger-border:#f5c6cb;--primitive-guide-vertical:#d63031;--primitive-guide-horizontal:#0984e3;--primitive-grid:#2427241a;--primitive-surface-raised:#fff;--primitive-surface-raised-hover:#f1f5f9;--primitive-surface-sunken:#eef2f6;--primitive-surface-raised-active:#e2e8f0;--primitive-surface-row-alt:#f8fafc;--primitive-text-primary:#12161f;--primitive-text-secondary:#54606f;--primitive-text-muted:#616c7a;--primitive-border-default:#cdd5df;--primitive-border-strong:#aeb8c5;--primitive-border-subtle:#e3e8ef;--primitive-accent-base:#0f3a66;--primitive-accent-soft:#d3e7fb;--primitive-accent-strong:var(--primitive-accent-base);--primitive-accent-ring:var(--primitive-accent-base);--primitive-accent-contrast:#fff;--primitive-on-accent-bg:#ffffff24;--primitive-on-accent-bg-hover:#ffffff3d;--primitive-on-accent-border:#ffffff38;--primitive-on-accent-text:#fff;--primitive-badge-bg:#c2cfdd;--primitive-badge-fold:#0f3a66;--primitive-text-on-badge:#142334;--primitive-favorite-star:#f2b200;--primitive-tag-type-bg:#d4dce7;--primitive-tag-type-text:#2e4a65;--primitive-tag-local-bg:#e6dfc8;--primitive-tag-local-text:#5a4a28;--primitive-tag-shared-bg:#c5e4e2;--primitive-tag-shared-text:#1d514e;--primitive-shadow-card-hover:#0000001a;--primitive-shadow-overlay:#0000002e;--primitive-shadow-ink:#000;--primitive-banner-warning-bg:#fff7e6;--primitive-banner-warning-border:#f6d28b;--primitive-banner-warning-icon:#b7791f;--primitive-banner-warning-text:#122038;--primitive-banner-warning-muted:#4e5e79;--primitive-banner-warning-btn-bg:#f7faff;--primitive-banner-warning-btn-text:#8c5a10;--primitive-banner-warning-btn-border:#f6d28b;--primitive-banner-warning-btn-hover:#f5e8c8;--primitive-toast-success:#197d4e;--primitive-toast-error:#c33640;--primitive-toast-warning:#b7791f;--primitive-toast-info:#1f5e9e;--primitive-swatch-slate:#64748b;--primitive-swatch-red:#dc2626;--primitive-swatch-orange:#ea580c;--primitive-swatch-amber:#d97706;--primitive-swatch-green:#16a34a;--primitive-swatch-teal:#0d9488;--primitive-swatch-blue:#2563eb;--primitive-swatch-violet:#7c3aed;--primitive-swatch-pink:#db2777;--primitive-interactive-selection:#f39c12;--primitive-dropzone-accent:#0064ff;--primitive-assessment-positive-text:#166534;--primitive-assessment-positive-bg:#dcfce7;--primitive-assessment-negative-text:#991b1b;--primitive-assessment-negative-bg:#fee2e2;--primitive-assessment-zero-text:#1e40af;--primitive-assessment-zero-bg:#dbeafe;--primitive-assessment-ungraded-text:#475569;--primitive-assessment-ungraded-bg:#f1f5f9;--primitive-collab-1:#ffb61e;--primitive-collab-2:#37b24d;--primitive-collab-3:#1c7ed6;--primitive-collab-4:#f03e3e;--primitive-collab-5:#ae3ec9;--primitive-collab-6:#0ca678;--primitive-collab-7:#f76707;--primitive-collab-8:#1098ad;--apollon-primary:var(--primitive-blue-500);--apollon-primary-contrast:var(--primitive-text-primary);--apollon-secondary:var(--primitive-slate-500);--apollon-alert-warning-yellow:var(--primitive-warning-yellow);--apollon-alert-warning-background:var(--primitive-warning-bg);--apollon-alert-warning-border:var(--primitive-warning-border);--apollon-background:var(--primitive-white);--apollon-background-inverse:var(--primitive-black);--apollon-background-variant:var(--primitive-gray-50);--apollon-gray:var(--primitive-gray-100);--apollon-grid:var(--primitive-grid);--apollon-gray-variant:var(--primitive-gray-700);--apollon-alert-danger-color:var(--primitive-danger-color);--apollon-alert-danger-background:var(--primitive-danger-bg);--apollon-alert-danger-border:var(--primitive-danger-border);--apollon-switch-box-border-color:var(--primitive-gray-200);--apollon-list-group-color:var(--primitive-white);--apollon-btn-outline-secondary-color:var(--primitive-slate-500);--apollon-modal-bottom-border:var(--primitive-gray-100);--apollon-guide-vertical:var(--primitive-guide-vertical);--apollon-guide-horizontal:var(--primitive-guide-horizontal);--apollon-surface:var(--primitive-surface-raised);--apollon-surface-sunken:var(--primitive-surface-sunken);--apollon-surface-hover:var(--primitive-surface-raised-hover);--apollon-border:var(--primitive-border-default);--apollon-border-subtle:var(--primitive-border-subtle);--apollon-radius:6px;--apollon-radius-sm:4px;--apollon-radius-md:var(--apollon-radius);--apollon-radius-lg:8px;--apollon-shadow:0 4px 12px var(--primitive-shadow-overlay);--apollon-chrome-surface:var(--apollon-background,#fff);--apollon-chrome-surface-hover:var(--apollon-primary-contrast,#000)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@supports (color:color-mix(in lab, red, red)){:root{--apollon-chrome-surface-hover:color-mix(in srgb, var(--apollon-primary-contrast,#000) 8%, var(--apollon-background,#fff))}}:root{--apollon-chrome-surface-active:var(--apollon-primary-contrast,#000)}@supports (color:color-mix(in lab, red, red)){:root{--apollon-chrome-surface-active:color-mix(in srgb, var(--apollon-primary-contrast,#000) 14%, var(--apollon-background,#fff))}}:root{--apollon-chrome-border:var(--apollon-primary-contrast,#000)}@supports (color:color-mix(in lab, red, red)){:root{--apollon-chrome-border:color-mix(in srgb, var(--apollon-primary-contrast,#000) 12%, var(--apollon-background,#fff))}}:root{--apollon-chrome-border-strong:var(--apollon-primary-contrast,#000)}@supports (color:color-mix(in lab, red, red)){:root{--apollon-chrome-border-strong:color-mix(in srgb, var(--apollon-primary-contrast,#000) 28%, var(--apollon-background,#fff))}}:root{--apollon-chrome-text:var(--apollon-primary-contrast,#212529);--apollon-chrome-text-muted:var(--apollon-primary-contrast,#000)}@supports (color:color-mix(in lab, red, red)){:root{--apollon-chrome-text-muted:color-mix(in srgb, var(--apollon-primary-contrast,#000) 58%, var(--apollon-background,#fff))}}:root{--apollon-chrome-accent:var(--apollon-primary,#3e8acc);--apollon-chrome-accent-contrast:var(--apollon-on-collaboration-cursor,#fff);--apollon-chrome-radius-sm:6px;--apollon-chrome-radius-md:8px;--apollon-chrome-radius-lg:12px;--apollon-chrome-edge:10px;--apollon-chrome-gap:8px;--apollon-chrome-btn:32px;--apollon-chrome-pad:6px;--apollon-chrome-hit:44px;--apollon-chrome-icon:18px;--apollon-chrome-edge-safe-left:max(var(--apollon-chrome-edge), var(--safe-area-inset-left,0px));--apollon-chrome-edge-safe-right:max(var(--apollon-chrome-edge), var(--safe-area-inset-right,0px));--apollon-chrome-edge-safe-bottom:max(var(--apollon-chrome-edge), var(--safe-area-inset-bottom,0px));--apollon-chrome-island-h:calc(var(--apollon-chrome-btn) + 2 * var(--apollon-chrome-pad) + 2px);--apollon-chrome-shadow-docked:0 1px 2px #0f172a14;--apollon-chrome-shadow-floating:0 0 1px 0 #0f172a33, 0 2px 8px 0 #0f172a1f;--apollon-chrome-inset-hairline:0 0 0 0 transparent;--apollon-chrome-glass:var(--apollon-background,#fff)}@supports (color:color-mix(in lab, red, red)){:root{--apollon-chrome-glass:color-mix(in srgb, var(--apollon-background,#fff) 80%, transparent)}}:root{--apollon-chrome-glass-solid:var(--apollon-background,#fff)}@supports (color:color-mix(in lab, red, red)){:root{--apollon-chrome-glass-solid:color-mix(in srgb, var(--apollon-background,#fff) 92%, transparent)}}:root{--apollon-chrome-glass-blur:saturate(180%) blur(20px);--apollon-chrome-duration-hover:.12s;--apollon-chrome-duration-enter:.22s;--apollon-chrome-ease-standard:cubic-bezier(.2, 0, 0, 1);--apollon-chrome-ease-decelerate:cubic-bezier(.05, .7, .1, 1);--apollon-hover-neutral:var(--apollon-primary-contrast,#000)}@supports (color:color-mix(in lab, red, red)){:root{--apollon-hover-neutral:color-mix(in srgb, var(--apollon-primary-contrast,#000) 7.5%, transparent)}}:root{--apollon-swatch-slate:var(--primitive-swatch-slate);--apollon-swatch-red:var(--primitive-swatch-red);--apollon-swatch-orange:var(--primitive-swatch-orange);--apollon-swatch-amber:var(--primitive-swatch-amber);--apollon-swatch-green:var(--primitive-swatch-green);--apollon-swatch-teal:var(--primitive-swatch-teal);--apollon-swatch-blue:var(--primitive-swatch-blue);--apollon-swatch-violet:var(--primitive-swatch-violet);--apollon-swatch-pink:var(--primitive-swatch-pink);--apollon-interactive-selection:var(--primitive-interactive-selection);--apollon-dropzone-accent:var(--primitive-dropzone-accent);--apollon-dropzone-accent-fill:var(--apollon-dropzone-accent)}@supports (color:color-mix(in lab, red, red)){:root{--apollon-dropzone-accent-fill:color-mix(in srgb, var(--apollon-dropzone-accent) 40%, transparent)}}:root{--apollon-on-collaboration-cursor:var(--primitive-white);--apollon-assessment-positive-text:var(--primitive-assessment-positive-text);--apollon-assessment-positive-bg:var(--primitive-assessment-positive-bg);--apollon-assessment-negative-text:var(--primitive-assessment-negative-text);--apollon-assessment-negative-bg:var(--primitive-assessment-negative-bg);--apollon-assessment-zero-text:var(--primitive-assessment-zero-text);--apollon-assessment-zero-bg:var(--primitive-assessment-zero-bg);--apollon-assessment-ungraded-text:var(--primitive-assessment-ungraded-text);--apollon-assessment-ungraded-bg:var(--primitive-assessment-ungraded-bg);--apollon-collaboration-color-1:var(--primitive-collab-1);--apollon-collaboration-color-2:var(--primitive-collab-2);--apollon-collaboration-color-3:var(--primitive-collab-3);--apollon-collaboration-color-4:var(--primitive-collab-4);--apollon-collaboration-color-5:var(--primitive-collab-5);--apollon-collaboration-color-6:var(--primitive-collab-6);--apollon-collaboration-color-7:var(--primitive-collab-7);--apollon-collaboration-color-8:var(--primitive-collab-8);--home-surface-base:var(--apollon-background);--home-surface-sunken:var(--apollon-surface-sunken);--home-surface-raised:var(--apollon-surface);--home-surface-raised-hover:var(--apollon-surface-hover);--home-surface-raised-active:var(--primitive-surface-raised-active);--home-surface-row-alt:var(--primitive-surface-row-alt);--home-card-surface:var(--apollon-chrome-surface);--home-text-primary:var(--apollon-primary-contrast);--home-text-secondary:var(--primitive-text-secondary);--home-text-strong:var(--apollon-primary-contrast);--home-text-muted:var(--primitive-text-muted);--home-border-default:var(--apollon-border);--home-border-strong:var(--primitive-border-strong);--home-border-subtle:var(--apollon-border-subtle);--home-accent-base:var(--primitive-accent-base);--home-accent-soft:var(--primitive-accent-soft);--home-accent-strong:var(--primitive-accent-strong);--home-accent-ring:var(--primitive-accent-ring);--home-accent-contrast:var(--primitive-accent-contrast);--home-on-accent-bg:var(--primitive-on-accent-bg);--home-on-accent-bg-hover:var(--primitive-on-accent-bg-hover);--home-on-accent-border:var(--primitive-on-accent-border);--home-on-accent-text:var(--primitive-on-accent-text);--home-on-dark-text:#ffffffeb;--home-on-dark-text-muted:#ffffff8c;--home-on-dark-border:#ffffff0f;--home-on-dark-row-hover:#ffffff0f;--home-on-dark-row-selected:#ffffff1a;--home-on-dark-row-disabled:#ffffff1f;--home-badge-bg:var(--primitive-badge-bg);--home-badge-fold:var(--primitive-badge-fold);--home-text-on-badge:var(--primitive-text-on-badge);--home-favorite-star:var(--primitive-favorite-star);--home-tag-type-bg:var(--primitive-tag-type-bg);--home-tag-type-text:var(--primitive-tag-type-text);--home-tag-local-bg:var(--primitive-tag-local-bg);--home-tag-local-text:var(--primitive-tag-local-text);--home-tag-shared-bg:var(--primitive-tag-shared-bg);--home-tag-shared-text:var(--primitive-tag-shared-text);--home-shadow-card-hover:var(--primitive-shadow-card-hover);--home-shadow-overlay:var(--primitive-shadow-overlay);--home-shadow-md:var(--apollon-shadow);--home-shadow-overlay-box:0 8px 20px var(--home-shadow-overlay);--home-radius-sm:2px;--home-radius-md:var(--apollon-radius-md);--home-radius-lg:var(--apollon-radius-lg);--home-radius-xl:15px;--home-banner-warning-bg:var(--primitive-banner-warning-bg);--home-banner-warning-border:var(--primitive-banner-warning-border);--home-banner-warning-icon:var(--primitive-banner-warning-icon);--home-banner-warning-text:var(--primitive-banner-warning-text);--home-banner-warning-muted:var(--primitive-banner-warning-muted);--home-banner-warning-btn-bg:var(--primitive-banner-warning-btn-bg);--home-banner-warning-btn-text:var(--primitive-banner-warning-btn-text);--home-banner-warning-btn-border:var(--primitive-banner-warning-btn-border);--home-banner-warning-btn-hover:var(--primitive-banner-warning-btn-hover);--home-toast-success:var(--primitive-toast-success);--home-toast-error:var(--primitive-toast-error);--home-toast-warning:var(--primitive-toast-warning);--home-toast-info:var(--primitive-toast-info)}:root[data-theme=dark],[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primitive-slate-500:#888;--primitive-grid:#303530;--primitive-warning-yellow:#fff;--primitive-warning-bg:#f39c12;--primitive-warning-border:#000;--primitive-danger-color:#ef8b80;--primitive-danger-bg:#370b07;--primitive-danger-border:#e43725;--primitive-guide-vertical:#ff7675;--primitive-guide-horizontal:#74b9ff;--primitive-surface-sunken:#0f1216;--primitive-surface-raised:#1a1f27;--primitive-surface-raised-hover:#222934;--primitive-surface-raised-active:#2b3340;--primitive-surface-row-alt:#181c23;--primitive-text-secondary:#a3b0c2;--primitive-text-muted:#8b97a8;--primitive-border-default:#323b48;--primitive-border-strong:#48535f;--primitive-border-subtle:#242b34;--primitive-accent-base:#236ebe;--primitive-accent-soft:#223548;--primitive-accent-strong:#fff;--primitive-accent-ring:var(--primitive-accent-base);--primitive-accent-contrast:#f4f9ff;--primitive-badge-bg:#87868d;--primitive-badge-fold:#c1c0c6;--primitive-text-on-badge:#15161b;--primitive-favorite-star:#ffd47a;--primitive-tag-type-bg:#343740;--primitive-tag-type-text:#9bb3cc;--primitive-tag-local-bg:#3a3628;--primitive-tag-local-text:#c9b47e;--primitive-tag-shared-bg:#1e3434;--primitive-tag-shared-text:#70bab6;--primitive-banner-warning-bg:#3a2f17;--primitive-banner-warning-border:#7a5c18;--primitive-banner-warning-icon:#ffd47a;--primitive-banner-warning-text:#ecf2fb;--primitive-banner-warning-muted:#abb8ce;--primitive-banner-warning-btn-bg:#1c222c;--primitive-banner-warning-btn-text:#ffd47a;--primitive-banner-warning-btn-border:#7a5c18;--primitive-banner-warning-btn-hover:#29313e;--primitive-toast-success:#4cc38a;--primitive-toast-error:#f0747e;--primitive-toast-warning:#ffd47a;--primitive-toast-info:#5aa0e0;--primitive-swatch-slate:#94a3b8;--primitive-swatch-red:#f87171;--primitive-swatch-orange:#fb923c;--primitive-swatch-amber:#fbbf24;--primitive-swatch-green:#4ade80;--primitive-swatch-teal:#2dd4bf;--primitive-swatch-blue:#60a5fa;--primitive-swatch-violet:#a78bfa;--primitive-swatch-pink:#f472b6;--primitive-interactive-selection:#f5b041;--primitive-assessment-positive-text:#86efac;--primitive-assessment-positive-bg:#14532d;--primitive-assessment-negative-text:#fca5a5;--primitive-assessment-negative-bg:#7f1d1d;--primitive-assessment-zero-text:#93c5fd;--primitive-assessment-zero-bg:#1e3a8a;--primitive-assessment-ungraded-text:#cbd5e1;--primitive-assessment-ungraded-bg:#334155;--primitive-collab-1:#ffce5c;--primitive-collab-2:#51cf66;--primitive-collab-3:#4dabf7;--primitive-collab-4:#ff6b6b;--primitive-collab-5:#cc5de8;--primitive-collab-6:#20c997;--primitive-collab-7:#ff922b;--primitive-collab-8:#22b8cf;--apollon-primary-contrast:var(--primitive-white);--apollon-background:#13161c;--apollon-background-inverse:var(--primitive-white);--apollon-background-variant:#303530;--apollon-gray:#242724;--apollon-gray-variant:#f8f9fa;--apollon-switch-box-border-color:#3d423d;--apollon-list-group-color:#303130;--apollon-btn-outline-secondary-color:#b8c0c5;--apollon-modal-bottom-border:#979797;--apollon-chrome-shadow-docked:0 1px 2px #0006;--apollon-chrome-shadow-floating:0 2px 12px 0 #00000080;--apollon-chrome-inset-hairline:inset 0 0 0 1px #ffffff14}@media (pointer:coarse){:root{--apollon-chrome-pad:4px}}@layer base{*,:before,:after{border-color:var(--color-border)}[data-slot],[data-slot] *,[data-slot] :before,[data-slot] :after{box-sizing:border-box}}@layer components{[data-slot=button]{border-radius:var(--home-radius-lg);border-style:var(--tw-border-style);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);white-space:nowrap;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-outline-style:none;-webkit-user-select:none;user-select:none;background-clip:padding-box;border-width:1px;border-color:#0000;outline-style:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}[data-slot=button]:focus-visible{border-color:var(--apollon-primary);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}[data-slot=button]:focus-visible{--tw-ring-color:var(--apollon-primary)}@supports (color:color-mix(in lab, red, red)){[data-slot=button]:focus-visible{--tw-ring-color:color-mix(in oklab, var(--apollon-primary) 50%, transparent)}}[data-slot=button]:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}[data-slot=button]:disabled{pointer-events:none;opacity:.5}[data-slot=button][aria-invalid=true]{border-color:var(--apollon-alert-danger-color);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}[data-slot=button][aria-invalid=true]{--tw-ring-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--apollon-alert-danger-color) 20%, transparent)}}[data-slot=button]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{border-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=button]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--apollon-alert-danger-color) 50%, transparent)}}[data-slot=button]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=button]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--apollon-alert-danger-color) 40%, transparent)}}[data-slot=button] svg{pointer-events:none;flex-shrink:0}[data-slot=button] svg:not([class*=size-]){width:calc(var(--spacing,.25rem) * 4);height:calc(var(--spacing,.25rem) * 4)}[data-slot=button][data-variant=default]{background-color:var(--apollon-primary);color:var(--home-accent-contrast)}@media (hover:hover){[data-slot=button][data-variant=default]:hover{background-color:var(--apollon-primary)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=default]:hover{background-color:color-mix(in oklab, var(--apollon-primary) 80%, transparent)}}}[data-slot=button][data-variant=outline]{border-color:var(--home-border-default);background-color:var(--apollon-background)}@media (hover:hover){[data-slot=button][data-variant=outline]:hover{background-color:var(--home-surface-sunken)}}@media (hover:hover){[data-slot=button][data-variant=outline]:hover{color:var(--apollon-primary-contrast)}}[data-slot=button][data-variant=outline][aria-expanded=true]{background-color:var(--home-surface-sunken);color:var(--apollon-primary-contrast)}[data-slot=button][data-variant=outline]:where([data-theme=dark],[data-theme=dark] *){border-color:var(--home-border-default)}[data-slot=button][data-variant=outline]:where([data-theme=dark],[data-theme=dark] *){background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=outline]:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--home-border-default) 30%, transparent)}}@media (hover:hover){[data-slot=button][data-variant=outline]:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=outline]:where([data-theme=dark],[data-theme=dark] *):hover{background-color:color-mix(in oklab, var(--home-border-default) 50%, transparent)}}}[data-slot=button][data-variant=secondary]{background-color:var(--home-surface-raised);color:var(--home-text-secondary)}@media (hover:hover){[data-slot=button][data-variant=secondary]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=secondary]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}}[data-slot=button][data-variant=secondary][aria-expanded=true]{background-color:var(--home-surface-raised);color:var(--home-text-secondary)}@media (hover:hover){[data-slot=button][data-variant=ghost]:hover{background-color:var(--home-surface-sunken)}}@media (hover:hover){[data-slot=button][data-variant=ghost]:hover{color:var(--apollon-primary-contrast)}}[data-slot=button][data-variant=ghost][aria-expanded=true]{background-color:var(--home-surface-sunken);color:var(--apollon-primary-contrast)}@media (hover:hover){[data-slot=button][data-variant=ghost]:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--home-surface-sunken)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=ghost]:where([data-theme=dark],[data-theme=dark] *):hover{background-color:color-mix(in oklab, var(--home-surface-sunken) 50%, transparent)}}}[data-slot=button][data-variant=destructive]{background-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=destructive]{background-color:color-mix(in oklab, var(--apollon-alert-danger-color) 10%, transparent)}}[data-slot=button][data-variant=destructive]{color:var(--apollon-alert-danger-color)}@media (hover:hover){[data-slot=button][data-variant=destructive]:hover{background-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=destructive]:hover{background-color:color-mix(in oklab, var(--apollon-alert-danger-color) 20%, transparent)}}}[data-slot=button][data-variant=destructive]:focus-visible{border-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=destructive]:focus-visible{border-color:color-mix(in oklab, var(--apollon-alert-danger-color) 40%, transparent)}}[data-slot=button][data-variant=destructive]:focus-visible{--tw-ring-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=destructive]:focus-visible{--tw-ring-color:color-mix(in oklab, var(--apollon-alert-danger-color) 20%, transparent)}}[data-slot=button][data-variant=destructive]:where([data-theme=dark],[data-theme=dark] *){background-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=destructive]:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--apollon-alert-danger-color) 20%, transparent)}}@media (hover:hover){[data-slot=button][data-variant=destructive]:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=destructive]:where([data-theme=dark],[data-theme=dark] *):hover{background-color:color-mix(in oklab, var(--apollon-alert-danger-color) 30%, transparent)}}}[data-slot=button][data-variant=destructive]:where([data-theme=dark],[data-theme=dark] *):focus-visible{--tw-ring-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=destructive]:where([data-theme=dark],[data-theme=dark] *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--apollon-alert-danger-color) 40%, transparent)}}[data-slot=button][data-variant=link]{color:var(--apollon-primary);text-underline-offset:4px}@media (hover:hover){[data-slot=button][data-variant=link]:hover{text-decoration-line:underline}}[data-slot=button][data-size=default]{height:calc(var(--spacing,.25rem) * 9);gap:calc(var(--spacing,.25rem) * 1.5);padding-inline:calc(var(--spacing,.25rem) * 2.5)}[data-slot=button][data-size=default]:has([data-icon=inline-end]){padding-right:calc(var(--spacing,.25rem) * 2)}[data-slot=button][data-size=default]:has([data-icon=inline-start]){padding-left:calc(var(--spacing,.25rem) * 2)}[data-slot=button][data-size=xs]{height:calc(var(--spacing,.25rem) * 6);gap:var(--spacing,.25rem);border-radius:min(var(--radius-md), 10px);padding-inline:calc(var(--spacing,.25rem) * 2);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)))}:where([data-slot=button-group]) [data-slot=button][data-size=xs]{border-radius:var(--home-radius-lg)}[data-slot=button][data-size=xs]:has([data-icon=inline-end]){padding-right:calc(var(--spacing,.25rem) * 1.5)}[data-slot=button][data-size=xs]:has([data-icon=inline-start]){padding-left:calc(var(--spacing,.25rem) * 1.5)}[data-slot=button][data-size=xs] svg:not([class*=size-]){width:calc(var(--spacing,.25rem) * 3);height:calc(var(--spacing,.25rem) * 3)}[data-slot=button][data-size=sm]{height:calc(var(--spacing,.25rem) * 7);gap:var(--spacing,.25rem);border-radius:min(var(--radius-md), 12px);padding-inline:calc(var(--spacing,.25rem) * 2.5);font-size:.8rem}:where([data-slot=button-group]) [data-slot=button][data-size=sm]{border-radius:var(--home-radius-lg)}[data-slot=button][data-size=sm]:has([data-icon=inline-end]){padding-right:calc(var(--spacing,.25rem) * 1.5)}[data-slot=button][data-size=sm]:has([data-icon=inline-start]){padding-left:calc(var(--spacing,.25rem) * 1.5)}[data-slot=button][data-size=sm] svg:not([class*=size-]){width:calc(var(--spacing,.25rem) * 3.5);height:calc(var(--spacing,.25rem) * 3.5)}[data-slot=button][data-size=lg]{height:calc(var(--spacing,.25rem) * 9);gap:calc(var(--spacing,.25rem) * 1.5);padding-inline:calc(var(--spacing,.25rem) * 2.5)}[data-slot=button][data-size=lg]:has([data-icon=inline-end]){padding-right:calc(var(--spacing,.25rem) * 2)}[data-slot=button][data-size=lg]:has([data-icon=inline-start]){padding-left:calc(var(--spacing,.25rem) * 2)}[data-slot=button][data-size=icon]{width:calc(var(--spacing,.25rem) * 8);height:calc(var(--spacing,.25rem) * 8)}[data-slot=button][data-size=icon-xs]{width:calc(var(--spacing,.25rem) * 6);height:calc(var(--spacing,.25rem) * 6);border-radius:min(var(--radius-md), 10px)}:where([data-slot=button-group]) [data-slot=button][data-size=icon-xs]{border-radius:var(--home-radius-lg)}[data-slot=button][data-size=icon-xs] svg:not([class*=size-]){width:calc(var(--spacing,.25rem) * 3);height:calc(var(--spacing,.25rem) * 3)}[data-slot=button][data-size=icon-sm]{width:calc(var(--spacing,.25rem) * 7);height:calc(var(--spacing,.25rem) * 7);border-radius:min(var(--radius-md), 12px)}:where([data-slot=button-group]) [data-slot=button][data-size=icon-sm]{border-radius:var(--home-radius-lg)}[data-slot=button][data-size=icon-lg]{width:calc(var(--spacing,.25rem) * 9);height:calc(var(--spacing,.25rem) * 9)}[data-slot=icon-button]{border-radius:var(--apollon-radius-sm);cursor:pointer;width:28px;height:28px;color:var(--apollon-primary-contrast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background-color .12s;display:inline-flex}[data-slot=icon-button]:hover{background-color:var(--apollon-hover-neutral,var(--apollon-primary-contrast))}@supports (color:color-mix(in lab, red, red)){[data-slot=icon-button]:hover{background-color:var(--apollon-hover-neutral,color-mix(in srgb, var(--apollon-primary-contrast) 7.5%, transparent))}}[data-slot=icon-button]:focus-visible{outline:2px solid var(--apollon-primary);outline-offset:2px}[data-slot=icon-button][aria-expanded=true]{background-color:var(--apollon-primary)}@supports (color:color-mix(in lab, red, red)){[data-slot=icon-button][aria-expanded=true]{background-color:color-mix(in srgb, var(--apollon-primary) 20%, transparent)}}[data-slot=input]{height:calc(var(--spacing,.25rem) * 9);border-radius:var(--home-radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--home-border-default);width:100%;min-width:0;padding-inline:calc(var(--spacing,.25rem) * 2.5);padding-block:var(--spacing,.25rem);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height,calc(1.5 / 1)));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-outline-style:none;background-color:#0000;outline-style:none}[data-slot=input]::placeholder{color:var(--home-text-muted)}[data-slot=input]:focus-visible{border-color:var(--apollon-primary);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}[data-slot=input]:focus-visible{--tw-ring-color:var(--apollon-primary)}@supports (color:color-mix(in lab, red, red)){[data-slot=input]:focus-visible{--tw-ring-color:color-mix(in oklab, var(--apollon-primary) 50%, transparent)}}[data-slot=input]:disabled{pointer-events:none;cursor:not-allowed}[data-slot=input]:disabled{background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=input]:disabled{background-color:color-mix(in oklab, var(--home-border-default) 50%, transparent)}}[data-slot=input]:disabled{opacity:.5}[data-slot=input][aria-invalid=true]{border-color:var(--apollon-alert-danger-color);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}[data-slot=input][aria-invalid=true]{--tw-ring-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=input][aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--apollon-alert-danger-color) 20%, transparent)}}@media (width>=48rem){[data-slot=input]{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)))}}[data-slot=input]:where([data-theme=dark],[data-theme=dark] *){background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=input]:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--home-border-default) 30%, transparent)}}[data-slot=input]:where([data-theme=dark],[data-theme=dark] *):disabled{background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=input]:where([data-theme=dark],[data-theme=dark] *):disabled{background-color:color-mix(in oklab, var(--home-border-default) 80%, transparent)}}[data-slot=input]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{border-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=input]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--apollon-alert-danger-color) 50%, transparent)}}[data-slot=input]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=input]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--apollon-alert-danger-color) 40%, transparent)}}[data-slot=textarea]{field-sizing:content;min-height:calc(var(--spacing,.25rem) * 16);border-radius:var(--home-radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--home-border-default);width:100%;padding-inline:calc(var(--spacing,.25rem) * 2.5);padding-block:calc(var(--spacing,.25rem) * 2);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height,calc(1.5 / 1)));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-outline-style:none;background-color:#0000;outline-style:none;display:flex}[data-slot=textarea]::placeholder{color:var(--home-text-muted)}[data-slot=textarea]:focus-visible{border-color:var(--apollon-primary);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}[data-slot=textarea]:focus-visible{--tw-ring-color:var(--apollon-primary)}@supports (color:color-mix(in lab, red, red)){[data-slot=textarea]:focus-visible{--tw-ring-color:color-mix(in oklab, var(--apollon-primary) 50%, transparent)}}[data-slot=textarea]:disabled{cursor:not-allowed}[data-slot=textarea]:disabled{background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=textarea]:disabled{background-color:color-mix(in oklab, var(--home-border-default) 50%, transparent)}}[data-slot=textarea]:disabled{opacity:.5}[data-slot=textarea][aria-invalid=true]{border-color:var(--apollon-alert-danger-color);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}[data-slot=textarea][aria-invalid=true]{--tw-ring-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=textarea][aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--apollon-alert-danger-color) 20%, transparent)}}@media (width>=48rem){[data-slot=textarea]{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)))}}[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *){background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--home-border-default) 30%, transparent)}}[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *):disabled{background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *):disabled{background-color:color-mix(in oklab, var(--home-border-default) 80%, transparent)}}[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{border-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--apollon-alert-danger-color) 50%, transparent)}}[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--apollon-alert-danger-color) 40%, transparent)}}[data-slot=tooltip-positioner]{isolation:isolate;z-index:50}[data-slot=tooltip-content]{z-index:50;width:fit-content;max-width:var(--container-xs,20rem);transform-origin:var(--transform-origin);align-items:center;gap:calc(var(--spacing,.25rem) * 1.5);border-radius:var(--home-radius-md);background-color:var(--apollon-primary-contrast);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--apollon-background);display:inline-flex}[data-slot=tooltip-content] [data-slot=tooltip-arrow]{z-index:50;width:calc(var(--spacing,.25rem) * 2.5);height:calc(var(--spacing,.25rem) * 2.5);--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y);background-color:var(--apollon-primary-contrast);fill:var(--apollon-primary-contrast);border-radius:2px;rotate:45deg}[data-slot=tooltip-content] [data-slot=tooltip-arrow][data-side=bottom]{top:var(--spacing,.25rem)}[data-slot=tooltip-content] [data-slot=tooltip-arrow][data-side=inline-end]{left:calc(var(--spacing,.25rem) * -1);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);top:50%!important}[data-slot=tooltip-content] [data-slot=tooltip-arrow][data-side=inline-start],[data-slot=tooltip-content] [data-slot=tooltip-arrow][data-side=left]{right:calc(var(--spacing,.25rem) * -1);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);top:50%!important}[data-slot=tooltip-content] [data-slot=tooltip-arrow][data-side=right]{left:calc(var(--spacing,.25rem) * -1);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);top:50%!important}[data-slot=tooltip-content] [data-slot=tooltip-arrow][data-side=top]{bottom:calc(var(--spacing,.25rem) * -2.5)}}.apollon-glass{background-color:var(--apollon-chrome-glass);-webkit-backdrop-filter:var(--apollon-chrome-glass-blur);backdrop-filter:var(--apollon-chrome-glass-blur);border:1px solid var(--apollon-chrome-border);box-shadow:var(--apollon-chrome-shadow-floating), var(--apollon-chrome-inset-hairline);border-radius:var(--apollon-chrome-radius-lg)}@media (prefers-reduced-transparency:reduce){.apollon-glass{background-color:var(--apollon-chrome-surface);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-contrast:more){.apollon-glass{border-color:var(--apollon-chrome-border-strong)}}.apollon-chrome-iconbtn{box-sizing:border-box;width:var(--apollon-chrome-btn);height:var(--apollon-chrome-btn);border-radius:var(--apollon-chrome-radius-sm);color:var(--apollon-chrome-text);cursor:pointer;transition:background-color var(--apollon-chrome-duration-hover) var(--apollon-chrome-ease-standard);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.apollon-chrome-iconbtn:before{content:\"\";inset:calc((var(--apollon-chrome-btn) - var(--apollon-chrome-hit)) / 2);position:absolute}.apollon-chrome-iconbtn:disabled{opacity:.4;cursor:not-allowed}.apollon-chrome-iconbtn:focus-visible{box-shadow:0 0 0 2px var(--apollon-chrome-accent);outline:none}@supports (color:color-mix(in lab, red, red)){.apollon-chrome-iconbtn:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--apollon-chrome-accent) 45%, transparent)}}.apollon-chrome-iconbtn:hover:not(:disabled){background:var(--apollon-chrome-surface-hover)}.apollon-chrome-iconbtn:active:not(:disabled){background:var(--apollon-chrome-surface-active)}.apollon-chrome-iconbtn--readout{font-variant-numeric:tabular-nums;width:auto;min-width:48px;padding:0 8px;font-size:13px;font-weight:600}button.apollon-chrome-accent-btn,a.apollon-chrome-accent-btn{background:var(--apollon-chrome-accent);color:var(--apollon-chrome-accent-contrast);transition:background-color var(--apollon-chrome-duration-hover) var(--apollon-chrome-ease-standard)}button.apollon-chrome-accent-btn:hover:not(:disabled),a.apollon-chrome-accent-btn:hover:not(:disabled){background:var(--apollon-chrome-accent)}@supports (color:color-mix(in lab, red, red)){button.apollon-chrome-accent-btn:hover:not(:disabled),a.apollon-chrome-accent-btn:hover:not(:disabled){background:color-mix(in srgb, var(--apollon-chrome-accent) 88%, black)}}button.apollon-chrome-accent-btn:active:not(:disabled),a.apollon-chrome-accent-btn:active:not(:disabled){background:var(--apollon-chrome-accent)}@supports (color:color-mix(in lab, red, red)){button.apollon-chrome-accent-btn:active:not(:disabled),a.apollon-chrome-accent-btn:active:not(:disabled){background:color-mix(in srgb, var(--apollon-chrome-accent) 80%, black)}}.apollon-chrome-title-island:focus-within{border-color:var(--apollon-chrome-accent);box-shadow:0 0 0 2px var(--apollon-chrome-accent), var(--apollon-chrome-shadow-floating)}@supports (color:color-mix(in lab, red, red)){.apollon-chrome-title-island:focus-within{box-shadow:0 0 0 2px color-mix(in srgb, var(--apollon-chrome-accent) 35%, transparent), var(--apollon-chrome-shadow-floating)}}.apollon-chrome-title-input::placeholder{color:var(--apollon-chrome-text-muted);opacity:1}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}\n:root{--safe-area-inset-top:env(safe-area-inset-top,0px);--safe-area-inset-right:env(safe-area-inset-right,0px);--safe-area-inset-bottom:env(safe-area-inset-bottom,0px);--safe-area-inset-left:env(safe-area-inset-left,0px)}.react-flow{--panel-background:var(--apollon-background,#fff);--panel-shadow:var(--apollon-shadow,0 4px 12px #0000002e);--text:var(--apollon-primary-contrast,#000);--xy-edge-stroke:var(--apollon-primary-contrast,#000);--xy-edge-stroke-width:2px;--xy-controls-button-background-color:var(--apollon-background,#fff);--xy-controls-button-border-color:transparent}.apollon-editor{background-color:var(--apollon-background,#fff);color:var(--apollon-primary-contrast,#000);--popover-divider:color-mix(in srgb, var(--apollon-primary-contrast,#000) 10%, transparent);isolation:isolate;--apollon-z-chrome:10005}.apollon-overlay-panel,.apollon-overlay-band{z-index:var(--apollon-z-chrome)}.apollon-canvas{flex:1;min-width:0;height:100%;position:relative;overflow:hidden}.apollon-collaboration-presence-bar{top:calc(10px + var(--apollon-inset-top,0px));right:calc(10px + var(--apollon-inset-right,0px));z-index:10002;pointer-events:auto;align-items:center;display:flex;position:absolute}.apollon-collaboration-presence-bar [role=button]:focus-visible{outline:2px solid var(--apollon-primary,#3e8acc);outline-offset:2px}.apollon-collaboration-follower-badge{box-sizing:border-box;border-radius:var(--apollon-radius-lg,8px);background-color:var(--apollon-background,#fff);min-width:14px;height:14px;color:var(--apollon-primary-contrast,#000);border:2px solid;justify-content:center;align-items:center;padding:0 3px;font-size:8px;font-weight:700;display:flex;position:absolute;bottom:-4px;left:-4px}.apollon-collaboration-follow-frame{pointer-events:none;z-index:10001;position:absolute;inset:0}.apollon-collaboration-follow-banner{background-color:var(--apollon-background,#fff);max-width:min(100% - 32px,420px);color:var(--apollon-primary-contrast,#000);box-shadow:0 2px 12px color-mix(in srgb, var(--apollon-primary-contrast,#000) 22%, transparent);white-space:nowrap;z-index:10004;pointer-events:auto;border:1px solid;border-radius:999px;align-items:center;gap:8px;padding:6px 6px 6px 14px;font-size:13px;font-weight:500;animation:.16s ease-out apollon-collaboration-follow-banner-in;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}@keyframes apollon-collaboration-follow-banner-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.apollon-collaboration-follow-banner{animation:none}}.apollon-collaboration-follow-banner-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.apollon-collaboration-follow-banner-text{text-overflow:ellipsis;overflow:hidden}.apollon-collaboration-follow-banner-stop{appearance:none;cursor:pointer;font:inherit;background-color:var(--apollon-primary-contrast,#000);color:var(--apollon-background,#fff);border:none;border-radius:999px;flex-shrink:0;padding:3px 12px;font-weight:600}.apollon-collaboration-follow-banner-stop:hover{opacity:.85}.apollon-collaboration-follow-banner-stop:focus-visible{outline:2px solid var(--apollon-primary,#3e8acc);outline-offset:2px}.apollon-collaboration-cursors{pointer-events:none;z-index:10003;position:absolute;inset:0;overflow:hidden}.apollon-collaboration-cursor{position:absolute}.apollon-collaboration-cursor-label{border-radius:var(--apollon-radius-md,6px);color:var(--apollon-on-collaboration-cursor,#fff);white-space:nowrap;margin-top:4px;padding:2px 6px;font-size:12px}.react-flow__node.apollon-collaboration-highlighted{box-shadow:0 0 0 4px var(--apollon-collaboration-highlight-color), 0 0 16px 3px var(--apollon-collaboration-highlight-color)!important;border-color:var(--apollon-collaboration-highlight-color)!important}.react-flow__edge.apollon-collaboration-highlighted path{filter:drop-shadow(0 0 4px var(--apollon-collaboration-highlight-color));stroke:var(--apollon-collaboration-highlight-color)!important;stroke-width:4.5px!important}.apollon-palette{box-sizing:border-box;top:calc(var(--safe-area-inset-top,0px) + var(--apollon-chrome-gap) + var(--apollon-inset-top,calc(var(--apollon-chrome-edge) + var(--apollon-chrome-island-h))));left:calc(var(--apollon-chrome-edge-safe-left) + var(--apollon-inset-left,0px));z-index:10000;max-height:calc(100% - var(--safe-area-inset-top,0px) - var(--apollon-chrome-gap) - var(--apollon-inset-top,calc(var(--apollon-chrome-edge) + var(--apollon-chrome-island-h))) - var(--apollon-chrome-edge-safe-bottom) - var(--apollon-chrome-island-h) - var(--apollon-chrome-gap) - var(--apollon-inset-bottom,0px));gap:var(--apollon-chrome-gap);padding:var(--apollon-chrome-pad);overscroll-behavior:contain;background:var(--apollon-chrome-glass);-webkit-backdrop-filter:var(--apollon-chrome-glass-blur);backdrop-filter:var(--apollon-chrome-glass-blur);color:var(--apollon-chrome-text);border:1px solid var(--apollon-chrome-border);border-radius:var(--apollon-chrome-radius-lg);box-shadow:var(--apollon-chrome-shadow-floating), var(--apollon-chrome-inset-hairline);flex-direction:column;align-items:center;display:flex;position:absolute;overflow-y:auto}.apollon-palette__entries{justify-content:center;display:grid}.apollon-palette__entry{cursor:grab;border-radius:var(--apollon-chrome-radius-sm);justify-content:center;align-items:center;transition:background-color .12s;display:flex}.apollon-palette__entry:hover{background:var(--apollon-chrome-surface-hover)}.apollon-palette__entry:active{cursor:grabbing}.apollon-palette__view-switch{flex-direction:column;gap:4px;width:100%;display:flex}.apollon-palette__view-button{border-radius:var(--apollon-chrome-radius-md);border:1px solid var(--apollon-chrome-border-strong);color:var(--apollon-chrome-text);cursor:pointer;white-space:nowrap;background:0 0;padding:6px 8px;font-size:13px;font-weight:600}.apollon-palette__view-button:hover{background:var(--apollon-chrome-surface-hover)}.apollon-palette__view-button--active,.apollon-palette__view-button--active:hover{background:var(--apollon-chrome-accent);color:var(--apollon-chrome-accent-contrast);border-color:var(--apollon-chrome-accent)}.apollon-palette__hint{box-sizing:border-box;width:100%;max-width:160px;padding:4px;font-size:13px;line-height:1.4}.react-flow__panel.top.left,.react-flow__panel.top.right{margin-top:calc(var(--apollon-chrome-edge) + var(--safe-area-inset-top,0px))}.react-flow__panel.bottom.left,.react-flow__panel.bottom.right{margin-bottom:var(--apollon-chrome-edge-safe-bottom)}.react-flow__panel.top.left,.react-flow__panel.bottom.left{margin-left:var(--apollon-chrome-edge-safe-left)}.react-flow__panel.top.right,.react-flow__panel.bottom.right{margin-right:var(--apollon-chrome-edge-safe-right)}.apollon-chrome-header-row{align-items:flex-start;gap:var(--apollon-chrome-gap);box-sizing:border-box;width:100%;padding-top:var(--apollon-chrome-edge);padding-left:var(--apollon-chrome-edge-safe-left);padding-right:var(--apollon-chrome-edge-safe-right);pointer-events:none;display:flex}.apollon-chrome-header-row>:not(.apollon-chrome-header-spacer){flex-shrink:0}.apollon-chrome-header-spacer{flex:auto;justify-content:flex-start;min-width:0;display:flex}@media (width<=950px) and (height<=500px){:root{--apollon-chrome-island-h:36px;--apollon-chrome-pad:2px}.apollon-collaboration-presence-bar{right:var(--apollon-chrome-edge-safe-right)}}.react-flow__minimap.apollon-minimap{border-radius:var(--apollon-chrome-radius-lg);padding:0;overflow:hidden}.react-flow__minimap.apollon-minimap .react-flow__minimap-svg{border-radius:inherit;display:block}.apollon-chrome-cluster-divider{background:var(--apollon-chrome-border);align-self:stretch;width:1px;margin:4px 2px}.react-flow__controls-button{width:var(--apollon-chrome-btn);height:var(--apollon-chrome-btn);border-radius:var(--apollon-chrome-radius-sm);color:var(--apollon-chrome-text);transition:background-color var(--apollon-chrome-duration-hover) var(--apollon-chrome-ease-standard);background:0 0;border:0;padding:0;position:relative}.react-flow__controls-button:before{content:\"\";inset:calc((var(--apollon-chrome-btn) - var(--apollon-chrome-hit)) / 2);position:absolute}.react-flow__controls-button:hover{background:var(--apollon-chrome-surface-hover)}.react-flow__controls-button>svg{fill:currentColor;max-width:18px;max-height:18px}.react-flow__panel,.react-flow__node-toolbar{background-color:var(--apollon-chrome-glass);-webkit-backdrop-filter:var(--apollon-chrome-glass-blur);backdrop-filter:var(--apollon-chrome-glass-blur);border:1px solid var(--apollon-chrome-border);box-shadow:var(--apollon-chrome-shadow-floating), var(--apollon-chrome-inset-hairline);border-radius:var(--apollon-chrome-radius-lg);padding:var(--apollon-chrome-pad)}.apollon-history-panel{background-color:var(--apollon-chrome-glass-solid)}.apollon-overlay-band,.apollon-overlay-panel{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background-color:#0000;border:0;border-radius:0;padding:0}.apollon-overlay-panel{margin:var(--apollon-chrome-edge)}@keyframes apollon-island-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.apollon-chrome-island{animation:apollon-island-in var(--apollon-chrome-duration-enter) var(--apollon-chrome-ease-decelerate) both}@media (prefers-reduced-motion:reduce){.apollon-chrome-island{animation:none}}@media (prefers-reduced-transparency:reduce){.react-flow__panel,.react-flow__node-toolbar,.apollon-palette{background-color:var(--apollon-chrome-surface);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-contrast:more){.react-flow__panel,.react-flow__node-toolbar,.apollon-palette{border-color:var(--apollon-chrome-border-strong)}}.react-flow svg{display:block}.react-flow__node-toolbar{gap:8px;display:flex}.react-flow__handle{opacity:0;background-color:#0000}.react-flow__handle.apollon-arc-handle:before{content:\"\";background-color:var(--apollon-primary,#3e8acc);opacity:.4;box-sizing:border-box;pointer-events:all;cursor:crosshair;--arc-long:calc(28px * var(--arc-scale,1));--arc-short:calc(14px * var(--arc-scale,1));--arc-radius:calc(14px * var(--arc-scale,1));position:absolute}.react-flow__handle.apollon-arc-handle--top:before{width:var(--arc-long);height:var(--arc-short);border-radius:var(--arc-radius) var(--arc-radius) 0 0;top:50%;left:50%;transform:translate(-50%,-100%)}.react-flow__handle.apollon-arc-handle--right:before{width:var(--arc-short);height:var(--arc-long);border-radius:0 var(--arc-radius) var(--arc-radius) 0;top:50%;left:50%;transform:translateY(-50%)}.react-flow__handle.apollon-arc-handle--bottom:before{width:var(--arc-long);height:var(--arc-short);border-radius:0 0 var(--arc-radius) var(--arc-radius);top:50%;left:50%;transform:translate(-50%)}.react-flow__handle.apollon-arc-handle--left:before{width:var(--arc-short);height:var(--arc-long);border-radius:var(--arc-radius) 0 0 var(--arc-radius);top:50%;left:50%;transform:translate(-100%,-50%)}.react-flow__resize-control line{z-index:9}.react-flow__resize-control.handle{z-index:20}.react-flow__resize-control{opacity:0;pointer-events:none;transition:opacity .12s}.react-flow__node:hover .react-flow__resize-control,.react-flow__node.selected .react-flow__resize-control{opacity:1;pointer-events:all}.react-flow__node:hover .react-flow__handle,.react-flow__node.selected .react-flow__handle{opacity:1;pointer-events:all;cursor:crosshair;background-color:#0000}.apollon-editor--connection-guidance .react-flow__handle.apollon-arc-handle:before{opacity:0;pointer-events:none}:is(.apollon-editor--connection-guidance .react-flow__node:has(.apollon-connection-guidance-source),.apollon-editor--connection-guidance .react-flow__node:has(.react-flow__handle.connectionindicator.connectingto)){z-index:10001!important}.apollon-editor--connection-guidance .react-flow__handle.connectionindicator{border:2px solid var(--apollon-primary,#3e8acc);background-color:var(--apollon-background,#fff);box-sizing:border-box;border-radius:999px;opacity:1!important;width:10px!important;height:10px!important}.apollon-editor--connection-guidance .react-flow__handle.connectionindicator.connectingfrom,.apollon-editor--connection-guidance .react-flow__handle.apollon-connection-guidance-source{opacity:0!important;pointer-events:none!important;background-color:#0000!important;border-color:#0000!important}.apollon-editor--connection-guidance .react-flow__handle.connectionindicator.valid{background-color:var(--apollon-primary,#3e8acc)!important}.edge-bend-handle{opacity:0;stroke:none;fill:color-mix(in srgb, var(--apollon-primary,#3e8acc) 34%, var(--apollon-background,#fff));vector-effect:non-scaling-stroke;transition:fill .12s,opacity .12s}.edge-endpoint-handle{fill:#0000;stroke:#0000;stroke-width:0;cursor:move;vector-effect:non-scaling-stroke}.edge-endpoint-handle--disabled{cursor:default}.react-flow__edge:hover .edge-bend-handle,.react-flow__edge.selected .edge-bend-handle{opacity:1;fill:var(--apollon-primary,#3e8acc)}.react-flow__edge:hover .edge-bend-handle:hover,.react-flow__edge.selected .edge-bend-handle:hover{fill:color-mix(in srgb, var(--apollon-primary,#3e8acc) 70%, #000)}.react-flow__edge:hover .edge-overlay{opacity:0}.react-flow__edge.selected .edge-overlay{opacity:0;pointer-events:none}.react-flow__edge:hover .react-flow__edge-path,.react-flow__edge:hover [data-inline-marker]{stroke:color-mix(in srgb, var(--apollon-primary,#3e8acc) 70%, #000)!important}.react-flow__edge:hover [data-inline-marker-filled=true]{fill:color-mix(in srgb, var(--apollon-primary,#3e8acc) 70%, #000)!important}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selected [data-inline-marker]{stroke:var(--apollon-primary,#3e8acc)!important}.react-flow__edge.selected [data-inline-marker-filled=true]{fill:var(--apollon-primary,#3e8acc)!important}.react-flow__node:hover,.react-flow__node.selected{opacity:.9;box-shadow:0 0 0 2px var(--apollon-primary,#3e8acc);border-radius:var(--apollon-radius-sm,4px)}.apollon-interactive-selection{--apollon-interactive-selection-color:var(--apollon-interactive-selection,#f39c12)}.apollon-interactive-selection--selected [stroke]:not([stroke=none]){stroke:var(--apollon-interactive-selection-color)}.apollon-interactive-selection--selected .react-flow__edge-path{stroke-width:3px}.apollon-interactive-selection--selected .edge-overlay{opacity:.45;stroke:var(--apollon-interactive-selection-color);stroke-width:15px}.react-flow__edges{z-index:9999}.react-flow__node{z-index:9998}svg.react-flow__connectionline{z-index:10000}.react-flow__connection-path{stroke:var(--xy-edge-stroke);stroke-width:var(--xy-edge-stroke-width);opacity:.5}.react-flow__minimap-mask{fill:var(--apollon-chrome-text-muted);opacity:.15}.prevent-select{-webkit-user-select:none;user-select:none}.horizontally-not-resizable .react-flow__resize-control.top.line:hover,.horizontally-not-resizable .react-flow__resize-control.bottom.line:hover,.vertically-not-resizable .react-flow__resize-control.right.line:hover,.vertically-not-resizable .react-flow__resize-control.left.line:hover{cursor:grab}.apollon-checkbox-label{color:var(--apollon-primary-contrast,#000);cursor:pointer;align-items:center;gap:8px;font-size:.875rem;display:inline-flex}.apollon-checkbox{accent-color:var(--apollon-primary,#3e8acc);cursor:pointer;width:16px;height:16px}[data-slot=checkbox-label]{color:var(--apollon-primary-contrast,#000);cursor:pointer;align-items:center;gap:8px;font-size:.875rem;display:inline-flex}[data-slot=checkbox]{border:1px solid color-mix(in srgb, var(--apollon-primary,#3e8acc) 50%, transparent);border-radius:var(--apollon-radius-sm,4px);width:16px;height:16px;color:var(--apollon-primary-contrast-on-accent,var(--apollon-background,#fff));cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .12s,border-color .12s;display:inline-flex}[data-slot=checkbox][data-checked]{background-color:var(--apollon-primary,#3e8acc);border-color:var(--apollon-primary,#3e8acc)}[data-slot=checkbox]:focus-visible{outline:2px solid var(--apollon-primary,#3e8acc);outline-offset:2px}[data-slot=checkbox][data-disabled]{opacity:.5;cursor:not-allowed}[data-slot=checkbox-label]:has([data-slot=checkbox][data-disabled]){cursor:not-allowed}[data-slot=checkbox-indicator]{color:inherit;justify-content:center;align-items:center;display:inline-flex}[data-slot=typography]{color:var(--apollon-primary-contrast,#000)}[data-slot=typography][data-variant=h6]{margin:0;font-size:1.25rem;font-weight:500}[data-slot=typography][data-variant=subtitle1]{margin:0;font-size:1rem;font-weight:400}[data-slot=typography][data-variant=subtitle2]{margin:0;font-size:.875rem;font-weight:500}[data-slot=typography][data-variant=body1]{margin:0;font-size:1rem}[data-slot=typography][data-variant=body2]{margin:0;font-size:.875rem}[data-slot=typography][data-variant=caption]{margin:0;font-size:.75rem}[data-slot=textfield-label]{color:var(--apollon-primary-contrast,#000);margin-bottom:2px;font-size:.75rem}[data-slot=textfield-helper]{color:var(--apollon-gray-variant,#495057);margin-top:2px;font-size:.75rem}[data-slot=textfield-helper][data-error]{color:var(--apollon-alert-danger-color,#721c24)}[data-slot=assessment-score]{border-radius:var(--apollon-radius-md,6px);font-variant-numeric:tabular-nums;align-self:flex-start;align-items:center;gap:6px;padding:2px 10px;font-size:.875rem;font-weight:600;line-height:1.4;display:inline-flex}[data-slot=assessment-score]>svg{flex:none}[data-slot=assessment-score][data-tone=positive]{color:var(--apollon-assessment-positive-text,#166534);background-color:var(--apollon-assessment-positive-bg,#dcfce7)}[data-slot=assessment-score][data-tone=negative]{color:var(--apollon-assessment-negative-text,#991b1b);background-color:var(--apollon-assessment-negative-bg,#fee2e2)}[data-slot=assessment-score][data-tone=zero]{color:var(--apollon-assessment-zero-text,#1e40af);background-color:var(--apollon-assessment-zero-bg,#dbeafe)}[data-slot=assessment-score][data-tone=ungraded]{color:var(--apollon-assessment-ungraded-text,#475569);background-color:var(--apollon-assessment-ungraded-bg,#f1f5f9)}.apollon-assessment-icon{filter:drop-shadow(0 1px 2px color-mix(in srgb, var(--apollon-primary-contrast,#000) 28%, transparent))}[data-slot=assessment-feedback]{color:var(--apollon-primary-contrast,#000);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.875rem;line-height:1.5}[data-slot=assessment-feedback][data-empty]{color:var(--apollon-gray-variant,#495057);font-style:italic}[data-slot=assessment-name-chip]{border-radius:var(--apollon-radius-sm,4px);white-space:nowrap;background-color:color-mix(in srgb, var(--apollon-primary,#3e8acc) 18%, transparent);color:var(--apollon-primary-contrast,#000);padding:1px 6px;font-weight:600}[data-slot=divider-line]{width:var(--divider-width,100%);height:var(--divider-height,1px);margin:var(--divider-margin,8px 0);background-color:var(--divider-color,var(--apollon-primary-contrast,#000))}.apollon-add-row{align-items:center;gap:4px;display:flex}.apollon-add-row>:first-child{flex:1;min-width:0}.apollon-drag-handle{cursor:grab;color:var(--apollon-gray-variant,#495057)}.apollon-drag-handle:active{cursor:grabbing}.apollon-edge-toolbar{pointer-events:none}.apollon-edge-toolbar>*{pointer-events:auto}.apollon-popover{box-sizing:border-box;background-color:var(--apollon-surface,#fff);color:var(--apollon-primary-contrast,#000);border-radius:var(--apollon-radius-lg,8px);border:1px solid var(--apollon-border,#cdd5df);box-shadow:var(--apollon-shadow,0 4px 12px #0000002e);transform-origin:var(--transform-origin,center);z-index:10003;flex-direction:column;flex:1;padding:10px;transition:opacity .1s,transform .1s;display:flex}.apollon-popover[data-starting-style],.apollon-popover[data-ending-style],.apollon-select-content[data-starting-style],.apollon-select-content[data-ending-style]{opacity:0;transform:scale(.96)}.apollon-select{flex-direction:column;display:inline-flex}.apollon-select-label{color:var(--apollon-primary-contrast,#000);margin-bottom:2px;font-size:.8125rem}.apollon-select-trigger{box-sizing:border-box;text-align:left;width:100%;min-height:36px;color:var(--apollon-primary-contrast,#000);background-color:var(--apollon-surface-sunken,#fff);border:1px solid var(--apollon-border,#cdd5df);border-radius:var(--apollon-radius-md,6px);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-family:inherit;font-size:.875rem;display:flex}.apollon-select-trigger:focus-visible{border-color:var(--apollon-primary,#3e8acc);box-shadow:0 0 0 1px var(--apollon-primary,#3e8acc);outline:none}.apollon-select-value{flex:1;min-width:0}.apollon-select-placeholder{color:var(--apollon-gray-variant,#495057);opacity:.7}.apollon-select-icon{color:var(--apollon-primary-contrast,#000);flex:none}.apollon-select-content{background-color:var(--apollon-surface,#fff);color:var(--apollon-primary-contrast,#000);border:1px solid var(--apollon-border,#cdd5df);border-radius:var(--apollon-radius-lg,8px);box-shadow:var(--apollon-shadow,0 4px 12px #0000002e);transform-origin:var(--transform-origin,center);z-index:10004;transition:opacity .1s,transform .1s;overflow:hidden}.apollon-select-listbox{max-height:inherit;-webkit-overflow-scrolling:touch;padding:4px;overflow-y:auto}.apollon-select-option{box-sizing:border-box;text-align:left;width:100%;min-height:40px;color:var(--apollon-primary-contrast,#000);border-radius:var(--apollon-radius-md,6px);cursor:pointer;touch-action:manipulation;background-color:#0000;border:none;align-items:center;padding:8px 10px;font-family:inherit;font-size:.875rem;display:flex}.apollon-select-option:hover,.apollon-select-option:focus-visible{background-color:color-mix(in srgb, var(--apollon-primary,#3e8acc) 14%, transparent);outline:none}.apollon-select-option--selected{background-color:color-mix(in srgb, var(--apollon-primary,#3e8acc) 22%, transparent);font-weight:600}.apollon-color-swatch{border:1px solid var(--apollon-border-subtle,#e3e8ef);cursor:pointer;background-color:var(--swatch-color,transparent);box-sizing:border-box;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:opacity .12s;display:inline-flex;position:relative}.apollon-color-swatch:hover{opacity:.72}.apollon-color-swatch:focus-visible{outline:2px solid var(--apollon-primary,#3e8acc);outline-offset:3px}.apollon-color-swatch[aria-pressed=true],.apollon-color-swatch[data-state=on]{opacity:1}.apollon-color-swatch__icon{pointer-events:none;color:var(--apollon-on-collaboration-cursor,#fff);filter:drop-shadow(0 0 1px #0009)}.apollon-color-picker__popup{box-sizing:border-box;background-color:var(--apollon-surface,#fff);color:var(--apollon-primary-contrast,#000);border:1px solid var(--apollon-border,#cdd5df);border-radius:var(--apollon-radius-lg,8px);box-shadow:var(--apollon-shadow,0 4px 12px #0000002e);z-index:10003;flex-direction:column;gap:10px;padding:12px;display:flex}.apollon-color-picker__grid{grid-template-columns:repeat(5,auto);gap:8px;display:grid}.apollon-color-picker__custom{color:var(--apollon-secondary,#6c757d);justify-content:space-between;align-items:center;gap:8px;font-size:.8125rem;display:flex}.apollon-color-picker__custom input[type=color]{border:1px solid var(--apollon-border,#cdd5df);border-radius:var(--apollon-radius-md,6px);cursor:pointer;background:0 0;width:28px;height:28px;padding:2px}.apollon-color-picker__custom input[type=color][data-custom-active]{outline:2px solid var(--apollon-primary,#3e8acc);outline-offset:1px}.apollon-color-picker__reset{align-self:stretch}.apollon-style-editor{flex-direction:column;width:100%;display:flex}.apollon-style-editor__header{flex-flow:wrap;flex:1;align-items:center;gap:8px;display:flex}.apollon-style-editor__header[data-variant=edge]{flex-wrap:nowrap;justify-content:space-between;gap:5px}.apollon-style-editor__header-actions{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.apollon-style-editor__header[data-variant=edge] .apollon-style-editor__header-actions{margin-left:0}.apollon-style-editor__panel{background-color:var(--apollon-surface,#fff);border:1px solid var(--apollon-border-subtle,#e3e8ef);border-radius:var(--apollon-radius-md,6px);flex-direction:column;margin-top:10px;margin-bottom:10px;display:flex}.apollon-style-editor__row{justify-content:space-between;align-items:center;padding:16px;display:flex}.apollon-stereotype-group[data-slot=toggle-group]{flex-direction:row;align-items:center;width:fit-content;display:inline-flex}.apollon-stereotype-toggle{z-index:1;border:1px solid color-mix(in srgb, var(--apollon-primary,#3e8acc) 38%, transparent);min-height:28px;color:var(--apollon-primary-contrast,#000);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0 10px;font-size:.8125rem;line-height:1;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex;position:relative}.apollon-stereotype-group .apollon-stereotype-toggle:not(:first-child){border-left:0}.apollon-stereotype-group .apollon-stereotype-toggle:first-child{border-top-left-radius:var(--apollon-radius-sm,4px);border-bottom-left-radius:var(--apollon-radius-sm,4px)}.apollon-stereotype-group .apollon-stereotype-toggle:last-child{border-top-right-radius:var(--apollon-radius-sm,4px);border-bottom-right-radius:var(--apollon-radius-sm,4px)}.apollon-stereotype-toggle:hover{background-color:var(--apollon-hover-neutral,color-mix(in srgb, var(--apollon-primary-contrast,#000) 7.5%, transparent))}.apollon-stereotype-toggle:focus-visible{outline:2px solid var(--apollon-primary,#3e8acc);outline-offset:2px;z-index:1}.apollon-stereotype-toggle[data-state=on]{background-color:color-mix(in srgb, var(--apollon-primary,#3e8acc) 20%, transparent);border-color:var(--apollon-primary,#3e8acc);color:color-mix(in srgb, var(--apollon-primary,#3e8acc) 70%, var(--apollon-primary-contrast,#000));z-index:1}.scroll-overlay{background-color:var(--apollon-grid,#2427241a);-webkit-backdrop-filter:blur(.5px);backdrop-filter:blur(.5px);z-index:10;cursor:not-allowed;pointer-events:auto;justify-content:center;align-items:center;animation:.2s ease-in-out fadeIn;display:flex;position:absolute;inset:0}.scroll-overlay-hint{z-index:11;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.scroll-overlay-hint-content{background-color:var(--apollon-surface,#fff);border:2px solid var(--apollon-primary,#3e8acc);border-radius:var(--apollon-radius-lg,8px);box-shadow:0 4px 12px var(--apollon-grid,#2427241a);justify-content:center;align-items:center;padding:16px 24px;display:flex}.scroll-overlay-hint-text{color:var(--apollon-primary,#3e8acc);text-align:center;margin:0;font-size:14px;font-weight:600}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}";
4
+ //#endregion
5
+ export { e as EXPORT_LAYOUT_CSS };
@@ -0,0 +1,4 @@
1
+ //#region lib/fontStack.ts
2
+ var e = "Inter, system-ui, Avenir, Helvetica, Arial, sans-serif";
3
+ //#endregion
4
+ export { e as t };
package/dist/index.d.ts CHANGED
@@ -5,6 +5,7 @@ import { JSX } from 'react';
5
5
  import { Node as Node_2 } from '@xyflow/react';
6
6
  import { NodeProps } from '@xyflow/react';
7
7
  import { ReactNode } from 'react';
8
+ import { Ref } from 'react';
8
9
  import { XYPosition } from '@xyflow/react';
9
10
 
10
11
  declare function Activity({ id, width, height, data, parentId, }: NodeProps<Node_2<DefaultNodeProps>>): JSX.Element | null;
@@ -38,12 +39,14 @@ declare type ActivitySwimlaneProps = DefaultNodeProps & {
38
39
  lanes: SwimlaneLane[];
39
40
  };
40
41
 
41
- declare namespace Apollon {
42
+ /** React wrapper around {@link ApollonEditor}. See `@tumaet/apollon` docs. */
43
+ export declare function Apollon(props: ApollonProps): JSX.Element;
44
+
45
+ declare namespace Apollon_2 {
42
46
  export {
43
47
  UMLDiagramType,
44
48
  DiagramNodeType,
45
49
  DiagramEdgeType,
46
- Styles,
47
50
  Unsubscriber,
48
51
  Subscribers,
49
52
  UMLModelElementType,
@@ -80,6 +83,24 @@ export declare type ApollonCollaborationOptions = {
80
83
  showFollow?: boolean;
81
84
  };
82
85
 
86
+ /**
87
+ * Declarative façade over `editor.addControl`. Registers a control that renders
88
+ * a stable host node into the chosen region, and portals `children` into that
89
+ * node — so children render INSIDE the canvas while React owns their
90
+ * reconciliation. Children changes therefore never touch the overlay store; only
91
+ * real option changes (region/inset/order/…) push an update. Returns null in the
92
+ * host tree.
93
+ */
94
+ export declare function ApollonControl({ children, ...options }: ApollonControlProps): ReactNode;
95
+
96
+ /** Props for {@link ApollonControl}: every {@link OverlayControlOptions} field
97
+ * (id, region, inset, order, …) plus the children to render in-canvas. */
98
+ export declare type ApollonControlProps = OverlayControlOptions & {
99
+ /** Portaled into the control's host node inside the chosen region. Children
100
+ * changes never re-register the control; only real option changes do. */
101
+ children: ReactNode;
102
+ };
103
+
83
104
  export declare type ApollonEdge = {
84
105
  id: string;
85
106
  source: string;
@@ -102,7 +123,7 @@ export declare class ApollonEditor {
102
123
  private readonly overlayStore;
103
124
  private readonly hostRegionEls;
104
125
  private subscribers;
105
- constructor(element: HTMLElement, options?: Apollon.ApollonOptions);
126
+ constructor(element: HTMLElement, options?: Apollon_2.ApollonOptions);
106
127
  private setReactFlowInstance;
107
128
  getNodes(): Node_2[];
108
129
  getEdges(): Edge[];
@@ -178,19 +199,19 @@ export declare class ApollonEditor {
178
199
  set diagramType(type: UMLDiagramType);
179
200
  destroy(): void;
180
201
  /** Renders a model to SVG via a hidden, off-screen mount. */
181
- static exportModelAsSvg(model: Apollon.UMLModel, options?: Apollon.ExportOptions): Promise<Apollon.SVG>;
202
+ static exportModelAsSvg(model: Apollon_2.UMLModel, options?: Apollon_2.ExportOptions): Promise<Apollon_2.SVG>;
182
203
  /**
183
204
  * exports current model as svg
184
205
  * @param options options to change the export behavior (add margin, exclude element ...)
185
206
  */
186
- exportAsSVG(options?: Apollon.ExportOptions): Promise<Apollon.SVG>;
207
+ exportAsSVG(options?: Apollon_2.ExportOptions): Promise<Apollon_2.SVG>;
187
208
  private getNewSubscriptionId;
188
- subscribeToModelChange(callback: (state: Apollon.UMLModel) => void): number;
209
+ subscribeToModelChange(callback: (state: Apollon_2.UMLModel) => void): number;
189
210
  subscribeToDiagramNameChange(callback: (diagramTitle: string) => void): number;
190
211
  subscribeToAssessmentSelection(callback: (selectedElementIds: string[]) => void): number;
191
212
  subscribeToSelectionChange(callback: (selectedElementIds: string[]) => void): number;
192
- subscribeToAwarenessChanges(callback: (states: Map<number, Apollon.CollaborationState>) => void): number;
193
- subscribeToCollaboratorChanges(callback: (collaborators: Apollon.CollaboratorInfo[]) => void): number;
213
+ subscribeToAwarenessChanges(callback: (states: Map<number, Apollon_2.CollaborationState>) => void): number;
214
+ subscribeToCollaboratorChanges(callback: (collaborators: Apollon_2.CollaboratorInfo[]) => void): number;
194
215
  unsubscribe(subscriberId: number): void;
195
216
  sendBroadcastMessage(sendFn: SendBroadcastMessage): void;
196
217
  receiveBroadcastedMessage(base64Data: string): void;
@@ -200,12 +221,12 @@ export declare class ApollonEditor {
200
221
  * absorbed by the room. See `YjsSync.broadcastFullState`.
201
222
  */
202
223
  broadcastFullState(): void;
203
- setLocalAwarenessUser(user: Apollon.CollaborationUser): void;
204
- setLocalAwarenessCursor(cursor: Apollon.CollaborationCursor | null): void;
224
+ setLocalAwarenessUser(user: Apollon_2.CollaborationUser): void;
225
+ setLocalAwarenessCursor(cursor: Apollon_2.CollaborationCursor | null): void;
205
226
  setLocalAwarenessSelectedElement(selectedElementId: string | null): void;
206
- setLocalAwarenessState(state: Partial<Apollon.CollaborationState>): void;
227
+ setLocalAwarenessState(state: Partial<Apollon_2.CollaborationState>): void;
207
228
  getLocalAwarenessClientId(): number;
208
- getCollaborators(): Apollon.CollaboratorInfo[];
229
+ getCollaborators(): Apollon_2.CollaboratorInfo[];
209
230
  updateDiagramTitle(name: string): void;
210
231
  /**
211
232
  * Toggles the editor's read-only state at runtime. Used by hosting apps
@@ -215,7 +236,7 @@ export declare class ApollonEditor {
215
236
  */
216
237
  setReadonly(readonly: boolean): void;
217
238
  /** Live-toggle modeling vs assessment vs exporting mode. */
218
- setMode(mode: Apollon.ApollonMode): void;
239
+ setMode(mode: Apollon_2.ApollonMode): void;
219
240
  /** Live-toggle whether the canvas captures page scroll. */
220
241
  setScrollLock(scrollLock: boolean): void;
221
242
  /**
@@ -236,20 +257,18 @@ export declare class ApollonEditor {
236
257
  */
237
258
  setPreviewMode(active: boolean): void;
238
259
  toggleInteractiveElementsMode(forceEnabled?: boolean): void;
239
- getInteractiveForSerialization(): Apollon.InteractiveElements | undefined;
260
+ getInteractiveForSerialization(): Apollon_2.InteractiveElements | undefined;
240
261
  getDiagramMetadata(): {
241
262
  diagramTitle: string;
242
263
  diagramType: "ClassDiagram" | "ObjectDiagram" | "ActivityDiagram" | "UseCaseDiagram" | "CommunicationDiagram" | "ComponentDiagram" | "DeploymentDiagram" | "PetriNet" | "ReachabilityGraph" | "SyntaxTree" | "Flowchart" | "BPMN" | "Sfc";
243
264
  };
244
- get model(): Apollon.UMLModel;
245
- set model(model: Apollon.UMLModel);
265
+ get model(): Apollon_2.UMLModel;
266
+ set model(model: Apollon_2.UMLModel);
246
267
  /**
247
268
  * Host-driven element highlighting. Paints a translucent overlay over each
248
- * given node / edge / class-member id in the supplied CSS color — the v4
249
- * replacement for v3's `UMLModelElement.highlight` field and
250
- * `ApollonEditor.select()`. Typical hosts: an assessment editor marking
251
- * elements that are missing feedback, or Athena marking elements that have
252
- * automatic-feedback suggestions.
269
+ * given node / edge / class-member id in the supplied CSS color. Typical
270
+ * hosts: an assessment editor marking elements that are missing feedback, or
271
+ * Athena marking elements that have automatic-feedback suggestions.
253
272
  *
254
273
  * The highlight is an ephemeral view overlay: it is NOT written into the
255
274
  * model, NOT serialized by `get model`, and NOT shared with collaborators.
@@ -263,9 +282,9 @@ export declare class ApollonEditor {
263
282
  /** Returns a copy of the current highlight record (id -> CSS color). */
264
283
  getElementHighlights(): Record<string, string>;
265
284
  getSelectedElements(): string[];
266
- get view(): Apollon.ApollonView;
267
- set view(view: Apollon.ApollonView);
268
- addOrUpdateAssessment(assessment: Apollon.Assessment): void;
285
+ get view(): Apollon_2.ApollonView;
286
+ set view(view: Apollon_2.ApollonView);
287
+ addOrUpdateAssessment(assessment: Apollon_2.Assessment): void;
269
288
  static generateInitialSyncMessage(): string;
270
289
  static generateInitialAwarenessSyncMessage(): string;
271
290
  }
@@ -308,30 +327,159 @@ export declare type ApollonOptions = {
308
327
  collaborationEnabled?: boolean;
309
328
  collaboration?: ApollonCollaborationOptions;
310
329
  scrollLock?: boolean;
330
+ /**
331
+ * Optional `--apollon-*` CSS custom properties applied to the editor's mount
332
+ * element. Build one with `createApollonTheme(...)`. Fully optional — an
333
+ * un-themed editor falls back to the library's built-in light/dark values.
334
+ */
335
+ theme?: Partial<Record<`--apollon-${string}`, string>>;
336
+ /**
337
+ * Sets `data-theme` on the mount element. Optional — when omitted the editor
338
+ * keeps any `data-theme` already on the element / inherited from an ancestor.
339
+ * See `library/THEMING.md`.
340
+ */
341
+ dataTheme?: "light" | "dark";
311
342
  };
312
343
 
313
- declare const apollonTheme: {
314
- color: {
315
- primary: string;
316
- secondary: string;
317
- warningYellow: string;
318
- background: string;
319
- backgroundVariant: string;
320
- grid: string;
321
- primaryContrast: string;
322
- gray: string;
323
- grayAccent: string;
324
- };
325
- font: {
326
- color: string;
327
- family: string;
328
- size: number;
329
- };
330
- interactive: {
331
- normal: string;
332
- hovered: string;
333
- };
334
- };
344
+ /**
345
+ * Props for the {@link Apollon} React component.
346
+ *
347
+ * - `default*` / `availableViews` / `enablePopups` / `collaborationEnabled` /
348
+ * `debug` are **snapshotted on mount** — re-key the component to apply
349
+ * changes against a new editor instance.
350
+ * - `readonly` / `view` / `mode` / `scrollLock` / `previewMode` / `model`
351
+ * are **reactive** — applied via the matching `ApollonEditor` setter when
352
+ * the prop changes. Passing `undefined` leaves the live value untouched;
353
+ * re-key the component to fully reset.
354
+ */
355
+ export declare interface ApollonProps {
356
+ className?: string;
357
+ /** Inline styles. Needs an explicit non-zero height or the canvas renders blank. */
358
+ style?: CSSProperties;
359
+ /**
360
+ * Optional `--apollon-*` CSS custom properties spread onto the mount node's
361
+ * `style`. Build one with `createApollonTheme(...)`. Fully optional — an
362
+ * un-themed embed falls back to the library's built-in light/dark values.
363
+ */
364
+ theme?: Partial<Record<`--apollon-${string}`, string>>;
365
+ /**
366
+ * Sets `data-theme` on the mount node. Optional — when omitted the editor
367
+ * inherits whatever `data-theme` an ancestor declares, or the default light
368
+ * values. See `library/THEMING.md`.
369
+ */
370
+ dataTheme?: "light" | "dark";
371
+ /** Rendered inside the {@link ApollonInstanceContext} provider alongside the canvas. */
372
+ children?: ReactNode;
373
+ defaultModel?: UMLModel;
374
+ defaultType?: UMLDiagramType;
375
+ defaultMode?: ApollonMode;
376
+ defaultView?: ApollonView;
377
+ availableViews?: ApollonView[];
378
+ enablePopups?: boolean;
379
+ collaborationEnabled?: boolean;
380
+ collaboration?: ApollonCollaborationOptions;
381
+ debug?: boolean;
382
+ readonly?: boolean;
383
+ view?: ApollonView;
384
+ mode?: ApollonMode;
385
+ scrollLock?: boolean;
386
+ /** Local-only preview overlay. See {@link ApollonEditor.setPreviewMode}. */
387
+ previewMode?: boolean;
388
+ /**
389
+ * One-way reactive model push — each new value applies via
390
+ * `editor.model = value`. NOT a two-way controlled value: the editor's own
391
+ * edits are not mirrored back, and feeding `subscribeToModelChange` into this
392
+ * prop loops. For save-on-change use `defaultModel` + an `onMount` subscription.
393
+ */
394
+ model?: UMLModel;
395
+ /**
396
+ * Called once with the instance after mount. The optional returned function
397
+ * runs as cleanup before destroy (React-19-style cleanup return).
398
+ */
399
+ onMount?: (editor: ApollonEditor) => void | (() => void);
400
+ /**
401
+ * Imperative handle to the underlying {@link ApollonEditor}. Assigned once
402
+ * after mount and cleared on unmount.
403
+ */
404
+ ref?: Ref<ApollonEditor | null>;
405
+ }
406
+
407
+ /**
408
+ * Make a host-owned {@link ApollonEditor} reachable to descendants via
409
+ * {@link useApollonEditor}. Use when the host constructs the editor directly
410
+ * (non-React adapter, test fixture) instead of rendering {@link Apollon}.
411
+ */
412
+ export declare function ApollonProvider({ editor, children, }: {
413
+ editor: ApollonEditor;
414
+ children: ReactNode;
415
+ }): JSX.Element;
416
+
417
+ /**
418
+ * The documented, stable subset of the `--apollon-*` editor theming tokens.
419
+ *
420
+ * Every field is optional: provide only the tokens you want to override; the
421
+ * rest fall back to the library's built-in light/dark values. Values are any
422
+ * valid CSS color/length string (e.g. `"#3e8acc"`, `"rgb(62 138 204)"`,
423
+ * `"var(--my-brand)"`).
424
+ *
425
+ * See `library/THEMING.md` for the full variable contract and host patterns.
426
+ */
427
+ export declare interface ApollonTheme {
428
+ /** Accent / brand color. Maps to `--apollon-primary`. */
429
+ primary?: string;
430
+ /** Foreground used on top of `background`. Maps to `--apollon-primary-contrast`. */
431
+ primaryContrast?: string;
432
+ /** Muted/secondary accent. Maps to `--apollon-secondary`. */
433
+ secondary?: string;
434
+ /** Canvas / surface background. Maps to `--apollon-background`. */
435
+ background?: string;
436
+ /** Inverse of `background` (e.g. tooltips). Maps to `--apollon-background-inverse`. */
437
+ backgroundInverse?: string;
438
+ /** Slightly raised surface variant. Maps to `--apollon-background-variant`. */
439
+ backgroundVariant?: string;
440
+ /** Neutral gray surface. Maps to `--apollon-gray`. */
441
+ gray?: string;
442
+ /** Stronger gray (borders/dividers). Maps to `--apollon-gray-variant`. */
443
+ grayVariant?: string;
444
+ /** Canvas grid line color. Maps to `--apollon-grid`. */
445
+ grid?: string;
446
+ /** Vertical alignment guide color. Maps to `--apollon-guide-vertical`. */
447
+ guideVertical?: string;
448
+ /** Horizontal alignment guide color. Maps to `--apollon-guide-horizontal`. */
449
+ guideHorizontal?: string;
450
+ /** Warning alert accent. Maps to `--apollon-alert-warning-yellow`. */
451
+ warning?: string;
452
+ /** Warning alert background. Maps to `--apollon-alert-warning-background`. */
453
+ warningBackground?: string;
454
+ /** Warning alert border. Maps to `--apollon-alert-warning-border`. */
455
+ warningBorder?: string;
456
+ /** Danger alert text color. Maps to `--apollon-alert-danger-color`. */
457
+ danger?: string;
458
+ /** Danger alert background. Maps to `--apollon-alert-danger-background`. */
459
+ dangerBackground?: string;
460
+ /** Danger alert border. Maps to `--apollon-alert-danger-border`. */
461
+ dangerBorder?: string;
462
+ /** Raised card/popover/menu surface. Maps to `--apollon-surface`. */
463
+ surface?: string;
464
+ /** Sunken/recessed surface (e.g. wells, muted areas). Maps to `--apollon-surface-sunken`. */
465
+ surfaceSunken?: string;
466
+ /** Hover state of the raised surface. Maps to `--apollon-surface-hover`. */
467
+ surfaceHover?: string;
468
+ /** Default border / divider color. Maps to `--apollon-border`. */
469
+ border?: string;
470
+ /** Subtle border / divider color. Maps to `--apollon-border-subtle`. */
471
+ borderSubtle?: string;
472
+ /** Base corner radius for shared primitives (CSS length). Maps to `--apollon-radius`. */
473
+ radius?: string;
474
+ /** Toggle/switch outline. Maps to `--apollon-switch-box-border-color`. */
475
+ switchBoxBorderColor?: string;
476
+ /** List-group surface color. Maps to `--apollon-list-group-color`. */
477
+ listGroupColor?: string;
478
+ /** Outline-secondary button color. Maps to `--apollon-btn-outline-secondary-color`. */
479
+ btnOutlineSecondaryColor?: string;
480
+ /** Modal footer divider. Maps to `--apollon-modal-bottom-border`. */
481
+ modalBottomBorder?: string;
482
+ }
335
483
 
336
484
  export declare enum ApollonView {
337
485
  Modelling = "Modelling",
@@ -487,10 +635,7 @@ declare function ColorDescription({ width, height, data, id, }: NodeProps<Node_2
487
635
 
488
636
  declare function CommunicationObjectName({ id, width, height, data, }: NodeProps<Node_2<CommunicationObjectNodeProps>>): JSX.Element;
489
637
 
490
- declare type CommunicationObjectNodeProps = {
491
- methods: ClassNodeElement[];
492
- attributes: ClassNodeElement[];
493
- } & DefaultNodeProps;
638
+ declare type CommunicationObjectNodeProps = ObjectNodeProps;
494
639
 
495
640
  declare function Component({ id, width, height, data, parentId, }: NodeProps<Node_2<ComponentNodeProps>>): JSX.Element | null;
496
641
 
@@ -506,6 +651,23 @@ declare type ComponentSubsystemNodeProps = {
506
651
  isComponentSubsystemHeaderShown: boolean;
507
652
  } & DefaultNodeProps;
508
653
 
654
+ /**
655
+ * Build a framework-agnostic style object of `--apollon-*` CSS custom
656
+ * properties from a (partial) {@link ApollonTheme}.
657
+ *
658
+ * Only the keys you provide are emitted — undefined fields are skipped so the
659
+ * library's built-in fallbacks stay in effect. The result can be spread onto
660
+ * any `style` object/attribute:
661
+ *
662
+ * ```tsx
663
+ * <Apollon theme={createApollonTheme({ primary: "#ff5722" })} />
664
+ * ```
665
+ *
666
+ * @param theme partial token object; unset tokens fall back to the defaults.
667
+ * @returns a record of `--apollon-*` variables to their string values.
668
+ */
669
+ export declare function createApollonTheme(theme: ApollonTheme): Record<`--apollon-${string}`, string>;
670
+
509
671
  declare type CustomEdgeProps = {
510
672
  sourceRole: string | null;
511
673
  sourceMultiplicity: string | null;
@@ -745,11 +907,6 @@ declare interface IPoint {
745
907
  y: number;
746
908
  }
747
909
 
748
- declare interface IPoint_2 {
749
- x: number;
750
- y: number;
751
- }
752
-
753
910
  export declare enum Locale {
754
911
  en = "en",
755
912
  de = "de"
@@ -778,7 +935,7 @@ declare type ObjectNodeProps = {
778
935
 
779
936
  export declare interface OrthogonalEdgeData {
780
937
  [key: string]: unknown;
781
- points: IPoint_2[];
938
+ points: IPoint[];
782
939
  }
783
940
 
784
941
  /** The public registration payload (options + renderer). */
@@ -873,8 +1030,6 @@ declare type SfcTransitionBranchNodeProps = DefaultNodeProps & {
873
1030
 
874
1031
  declare type Sink = Pick<Console, "error" | "warn" | "debug">;
875
1032
 
876
- export declare type Styles = typeof apollonTheme;
877
-
878
1033
  export declare type Subscribers = {
879
1034
  [key: number]: Unsubscriber;
880
1035
  };
@@ -945,6 +1100,30 @@ export declare type UMLModelElementType = DiagramNodeType | DiagramEdgeType;
945
1100
 
946
1101
  export declare type Unsubscriber = () => void;
947
1102
 
1103
+ export declare function useApollonEditor(): ApollonEditor | null;
1104
+
1105
+ /** Like {@link useApollonEditor}, but throws when no editor is available. */
1106
+ export declare function useApollonEditorOrThrow(): ApollonEditor;
1107
+
1108
+ /**
1109
+ * Subscribe to a value derived from the {@link ApollonEditor}.
1110
+ *
1111
+ * `getSnapshot` MUST return a referentially stable value when nothing changed;
1112
+ * do not allocate inside it. Returns `undefined` while no editor is mounted
1113
+ * (including during SSR). Pass the value type explicitly —
1114
+ * `useApollonSubscription<string[]>(...)` — it can't be inferred from the
1115
+ * `subscribe` callback (its `value` parameter is a contravariant position).
1116
+ *
1117
+ * @example
1118
+ * ```tsx
1119
+ * const selection = useApollonSubscription<string[]>(
1120
+ * (editor, cb) => editor.subscribeToSelectionChange(cb),
1121
+ * (editor) => editor.getSelectedElements(),
1122
+ * )
1123
+ * ```
1124
+ */
1125
+ export declare function useApollonSubscription<T>(subscribe: (editor: ApollonEditor, cb: (value: T) => void) => number, getSnapshot: (editor: ApollonEditor) => T): T | undefined;
1126
+
948
1127
  declare function UseCase({ id, width, height, data, parentId, }: NodeProps<Node_2<DefaultNodeProps>>): JSX.Element | null;
949
1128
 
950
1129
  declare function UseCaseActor({ id, width, height, data, parentId, }: NodeProps<Node_2<DefaultNodeProps>>): JSX.Element | null;