@likec4/diagram 1.26.1 → 1.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. package/README.md +1 -1
  2. package/bundle/index.js +48891 -0
  3. package/dist/LikeC4CustomColors.js +27 -23
  4. package/dist/LikeC4Diagram.d.ts +1 -1
  5. package/dist/LikeC4Diagram.js +37 -36
  6. package/dist/LikeC4Diagram.props.d.ts +6 -0
  7. package/dist/LikeC4ModelProvider.js +6 -6
  8. package/dist/StaticLikeC4Diagram.js +5 -5
  9. package/dist/_virtual/_commonjsHelpers.js +5 -0
  10. package/dist/_virtual/default-map.js +7 -0
  11. package/dist/base/Background.js +6 -6
  12. package/dist/base/BaseXYFlow.d.ts +1 -1
  13. package/dist/base/BaseXYFlow.js +75 -46
  14. package/dist/base/const.js +2 -5
  15. package/dist/base/primitives/NodeHandles.js +5 -5
  16. package/dist/base/primitives/compound/CompoundActionButton.js +60 -33
  17. package/dist/base/primitives/compound/CompoundDetailsButton.js +66 -35
  18. package/dist/base/primitives/compound/CompoundNodeContainer.css.d.ts +35 -7
  19. package/dist/base/primitives/compound/CompoundNodeContainer.css.js +131 -12
  20. package/dist/base/primitives/compound/CompoundNodeContainer.d.ts +4 -20
  21. package/dist/base/primitives/compound/CompoundNodeContainer.js +99 -97
  22. package/dist/base/primitives/compound/CompoundTitle.d.ts +1 -1
  23. package/dist/base/primitives/compound/CompoundTitle.js +74 -12
  24. package/dist/base/primitives/compound/actionbtns.css.d.ts +11 -0
  25. package/dist/base/primitives/compound/actionbtns.css.js +32 -0
  26. package/dist/base/primitives/customEdge.d.ts +5 -5
  27. package/dist/base/primitives/customEdge.js +6 -7
  28. package/dist/base/primitives/customNode.js +5 -6
  29. package/dist/base/primitives/edge/EdgeActionButton.js +10 -12
  30. package/dist/base/primitives/edge/EdgeContainer.d.ts +1 -1
  31. package/dist/base/primitives/edge/EdgeContainer.js +21 -15
  32. package/dist/base/primitives/edge/EdgeLabel.css.d.ts +24 -10
  33. package/dist/base/primitives/edge/EdgeLabel.css.js +133 -20
  34. package/dist/base/primitives/edge/EdgeLabel.d.ts +4 -44
  35. package/dist/base/primitives/edge/EdgeLabel.js +35 -88
  36. package/dist/base/primitives/edge/EdgeLabelContainer.d.ts +18 -0
  37. package/dist/base/primitives/edge/EdgeLabelContainer.js +91 -0
  38. package/dist/base/primitives/edge/EdgeMarkers.js +5 -6
  39. package/dist/base/primitives/edge/EdgePath.d.ts +7 -7
  40. package/dist/base/primitives/edge/EdgePath.js +17 -29
  41. package/dist/base/primitives/edge/edge.css.d.ts +2 -2
  42. package/dist/base/primitives/edge/edge.css.js +123 -12
  43. package/dist/base/primitives/edge/xyvars.d.ts +24 -0
  44. package/dist/base/primitives/element/ElementActionButtons.js +35 -17
  45. package/dist/base/primitives/element/ElementDetailsButton.js +34 -16
  46. package/dist/base/primitives/element/ElementNodeContainer.css.d.ts +0 -1
  47. package/dist/base/primitives/element/ElementNodeContainer.css.js +50 -5
  48. package/dist/base/primitives/element/ElementNodeContainer.d.ts +1 -1
  49. package/dist/base/primitives/element/ElementNodeContainer.js +28 -19
  50. package/dist/base/primitives/element/ElementShape.css.js +118 -15
  51. package/dist/base/primitives/element/ElementShape.js +8 -10
  52. package/dist/base/primitives/element/ElementTitle.css.d.ts +33 -8
  53. package/dist/base/primitives/element/ElementTitle.css.js +195 -20
  54. package/dist/base/primitives/element/ElementTitle.js +25 -24
  55. package/dist/base/primitives/index.d.ts +1 -0
  56. package/dist/base/types.js +4 -4
  57. package/dist/base/updateEdges.js +5 -5
  58. package/dist/base/updateNodes.js +6 -6
  59. package/dist/bundle/LikeC4ModelProvider.d.ts +9 -0
  60. package/dist/bundle/LikeC4ModelProvider.js +5 -0
  61. package/dist/bundle/LikeC4View.d.ts +2 -0
  62. package/dist/bundle/LikeC4View.js +176 -0
  63. package/dist/bundle/LikeC4View.props.d.ts +207 -0
  64. package/dist/bundle/ReactLikeC4.d.ts +36 -0
  65. package/dist/bundle/ReactLikeC4.js +90 -0
  66. package/dist/bundle/ShadowRoot.d.ts +12 -0
  67. package/dist/bundle/ShadowRoot.js +52 -0
  68. package/dist/bundle/ViewNotFound.d.ts +5 -0
  69. package/dist/bundle/ViewNotFound.js +30 -0
  70. package/dist/bundle/font.css.js +3 -0
  71. package/dist/bundle/index.d.ts +5 -0
  72. package/dist/bundle/index.js +4 -0
  73. package/dist/bundle/styles.css.d.ts +10 -0
  74. package/dist/bundle/styles.css.js +145 -0
  75. package/dist/components/Link.js +61 -12
  76. package/dist/components/SearchControl.css.js +72 -9
  77. package/dist/components/SearchControl.js +11 -11
  78. package/dist/context/ControlsCustomLayout.js +5 -6
  79. package/dist/context/DiagramEventHandlers.js +8 -13
  80. package/dist/context/DiagramFeatures.js +7 -12
  81. package/dist/context/EnsureMantine.js +6 -6
  82. package/dist/context/FramerMotionConfig.js +8 -9
  83. package/dist/context/IconRenderer.js +7 -9
  84. package/dist/context/ReduceGraphics.d.ts +4 -5
  85. package/dist/context/ReduceGraphics.js +11 -43
  86. package/dist/context/RootContainer.js +23 -10
  87. package/dist/hooks/safeContext.js +5 -7
  88. package/dist/hooks/useCurrentViewId.js +6 -6
  89. package/dist/hooks/useDiagram.d.ts +5020 -4373
  90. package/dist/hooks/useDiagram.js +13 -17
  91. package/dist/hooks/useMantinePortalProps.js +5 -5
  92. package/dist/hooks/useOverlaysActor.d.ts +2 -0
  93. package/dist/hooks/useOverlaysActor.js +10 -0
  94. package/dist/hooks/useReducedGraphics.d.ts +1 -1
  95. package/dist/hooks/useSetState.js +5 -5
  96. package/dist/hooks/useUpdateEffect.js +6 -7
  97. package/dist/hooks/useXYFlow.d.ts +28 -28
  98. package/dist/hooks/useXYFlow.js +7 -11
  99. package/dist/index.d.ts +0 -1
  100. package/dist/index.js +10 -26
  101. package/dist/likec4diagram/DiagramUI.js +13 -13
  102. package/dist/likec4diagram/DiagramXYFlow.d.ts +1 -4
  103. package/dist/likec4diagram/DiagramXYFlow.js +81 -36
  104. package/dist/likec4diagram/custom/edges/NotePopover.css.js +21 -7
  105. package/dist/likec4diagram/custom/edges/NotePopover.js +18 -27
  106. package/dist/likec4diagram/custom/edges/RelationshipEdge.d.ts +9 -9
  107. package/dist/likec4diagram/custom/edges/RelationshipEdge.js +99 -83
  108. package/dist/likec4diagram/custom/edges/RelationshipsDropdownMenu.css.d.ts +1 -0
  109. package/dist/likec4diagram/custom/edges/RelationshipsDropdownMenu.css.js +38 -11
  110. package/dist/likec4diagram/custom/edges/RelationshipsDropdownMenu.d.ts +3 -3
  111. package/dist/likec4diagram/custom/edges/RelationshipsDropdownMenu.js +28 -30
  112. package/dist/likec4diagram/custom/edges/edges.css.js +44 -9
  113. package/dist/likec4diagram/custom/edges/utils.js +6 -7
  114. package/dist/likec4diagram/custom/index.d.ts +9 -9
  115. package/dist/likec4diagram/custom/index.js +5 -6
  116. package/dist/likec4diagram/custom/nodes/CompoundActions.js +7 -7
  117. package/dist/likec4diagram/custom/nodes/ElementActions.js +8 -9
  118. package/dist/likec4diagram/custom/nodes/nodeTypes.js +22 -26
  119. package/dist/likec4diagram/custom/nodes/toolbar/ColorButton.js +10 -13
  120. package/dist/likec4diagram/custom/nodes/toolbar/CompoundToolbar.js +15 -16
  121. package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.js +12 -13
  122. package/dist/likec4diagram/custom/nodes/toolbar/Toolbar.d.ts +1 -1
  123. package/dist/likec4diagram/custom/nodes/toolbar/Toolbar.js +17 -14
  124. package/dist/likec4diagram/custom/nodes/toolbar/_shared.js +15 -20
  125. package/dist/likec4diagram/custom/nodes/toolbar/styles.css.js +10 -5
  126. package/dist/likec4diagram/ui/controls/ChangeAutoLayoutButton.js +15 -15
  127. package/dist/likec4diagram/ui/controls/Controls.js +24 -24
  128. package/dist/likec4diagram/ui/controls/LayoutDriftNotification.js +8 -9
  129. package/dist/likec4diagram/ui/controls/ManualLayoutToolsButton.js +8 -8
  130. package/dist/likec4diagram/ui/controls/NavigationButtons.js +8 -8
  131. package/dist/likec4diagram/ui/controls/ToggleReadonly.js +7 -7
  132. package/dist/likec4diagram/ui/controls/_shared.js +4 -5
  133. package/dist/likec4diagram/ui/controls/styles.css.js +79 -17
  134. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.css.js +49 -9
  135. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.js +12 -12
  136. package/dist/likec4diagram/ui/notation/NotationPanel.css.js +85 -15
  137. package/dist/likec4diagram/ui/notation/NotationPanel.js +32 -32
  138. package/dist/likec4diagram/ui/search/ElementsColumn.css.d.ts +0 -5
  139. package/dist/likec4diagram/ui/search/ElementsColumn.css.js +70 -30
  140. package/dist/likec4diagram/ui/search/ElementsColumn.js +40 -33
  141. package/dist/likec4diagram/ui/search/LikeC4Search.css.js +87 -20
  142. package/dist/likec4diagram/ui/search/LikeC4Search.js +18 -17
  143. package/dist/likec4diagram/ui/search/SearchInput.js +22 -24
  144. package/dist/likec4diagram/ui/search/ViewsColum.js +22 -22
  145. package/dist/likec4diagram/ui/search/ViewsColumn.css.d.ts +0 -2
  146. package/dist/likec4diagram/ui/search/ViewsColumn.css.js +29 -14
  147. package/dist/likec4diagram/ui/search/_shared.css.d.ts +3 -17
  148. package/dist/likec4diagram/ui/search/_shared.css.js +171 -0
  149. package/dist/likec4diagram/ui/search/state.js +12 -22
  150. package/dist/likec4diagram/ui/search/utils.js +2 -5
  151. package/dist/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.css.js +66 -10
  152. package/dist/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.js +18 -27
  153. package/dist/likec4diagram/useLayoutConstraints.js +39 -46
  154. package/dist/likec4diagram/useViewToNodesEdges.js +12 -13
  155. package/dist/likec4model/LikeC4ModelContext.js +4 -4
  156. package/dist/likec4model/useLikeC4ElementsTree.js +6 -7
  157. package/dist/likec4model/useLikeC4Model.js +6 -6
  158. package/dist/node_modules/.pnpm/mnemonist@0.40.3_patch_hash_5c12abb43fcff6fd81e53021b89075d53249640d165a2556cc1e58d71201a13a/node_modules/mnemonist/default-map.js +172 -0
  159. package/dist/overlays/Overlays.js +21 -21
  160. package/dist/overlays/element-details/ElementDetails.js +9 -9
  161. package/dist/overlays/element-details/ElementDetailsCard.css.d.ts +2 -3
  162. package/dist/overlays/element-details/ElementDetailsCard.css.js +237 -35
  163. package/dist/overlays/element-details/ElementDetailsCard.js +44 -46
  164. package/dist/overlays/element-details/TabPanelDeployments.css.js +62 -11
  165. package/dist/overlays/element-details/TabPanelDeployments.js +11 -11
  166. package/dist/overlays/element-details/TabPanelRelationships.css.js +99 -9
  167. package/dist/overlays/element-details/TabPanelRelationships.js +41 -14
  168. package/dist/overlays/element-details/TabPanelStructure.css.js +36 -7
  169. package/dist/overlays/element-details/TabPanelStructure.js +8 -9
  170. package/dist/overlays/element-details/actor.d.ts +21892 -22686
  171. package/dist/overlays/element-details/actor.js +18 -19
  172. package/dist/overlays/element-details/actorContext.js +4 -5
  173. package/dist/overlays/overlay/Overlay.css.d.ts +2 -2
  174. package/dist/overlays/overlay/Overlay.css.js +57 -98
  175. package/dist/overlays/overlay/Overlay.d.ts +2 -2
  176. package/dist/overlays/overlay/Overlay.js +96 -94
  177. package/dist/overlays/overlaysActor.d.ts +6 -6
  178. package/dist/overlays/overlaysActor.js +17 -18
  179. package/dist/overlays/relationship-details/RelationshipDetails.d.ts +49 -0
  180. package/dist/overlays/relationship-details/RelationshipDetails.js +24 -17
  181. package/dist/overlays/relationship-details/SelectEdge.css.js +82 -17
  182. package/dist/overlays/relationship-details/SelectEdge.js +15 -17
  183. package/dist/overlays/relationship-details/actor.js +9 -9
  184. package/dist/overlays/relationship-details/custom/ElementActions.js +8 -8
  185. package/dist/overlays/relationship-details/custom/edgeTypes.d.ts +44 -46
  186. package/dist/overlays/relationship-details/custom/edgeTypes.js +49 -50
  187. package/dist/overlays/relationship-details/custom/index.d.ts +2 -2
  188. package/dist/overlays/relationship-details/custom/nodeTypes.d.ts +28 -30
  189. package/dist/overlays/relationship-details/custom/nodeTypes.js +31 -35
  190. package/dist/overlays/relationship-details/hooks.js +9 -13
  191. package/dist/overlays/relationship-details/useLayoutedDetails.js +16 -18
  192. package/dist/overlays/relationships-browser/-useRelationshipsView.d.ts +8 -24
  193. package/dist/overlays/relationships-browser/-useRelationshipsView.js +50 -85
  194. package/dist/overlays/relationships-browser/RelationshipsBrowser.d.ts +48 -0
  195. package/dist/overlays/relationships-browser/RelationshipsBrowser.js +101 -101
  196. package/dist/overlays/relationships-browser/SelectElement.css.js +22 -9
  197. package/dist/overlays/relationships-browser/SelectElement.d.ts +2 -7
  198. package/dist/overlays/relationships-browser/SelectElement.js +196 -112
  199. package/dist/overlays/relationships-browser/_types.d.ts +4 -1
  200. package/dist/overlays/relationships-browser/actor.d.ts +478 -351
  201. package/dist/overlays/relationships-browser/actor.js +108 -94
  202. package/dist/overlays/relationships-browser/const.d.ts +1 -1
  203. package/dist/overlays/relationships-browser/const.js +3 -4
  204. package/dist/overlays/relationships-browser/custom/ElementActions.js +9 -9
  205. package/dist/overlays/relationships-browser/custom/EmptyNode.js +6 -6
  206. package/dist/overlays/relationships-browser/custom/edgeTypes.d.ts +43 -44
  207. package/dist/overlays/relationships-browser/custom/edgeTypes.js +97 -65
  208. package/dist/overlays/relationships-browser/custom/index.d.ts +2 -2
  209. package/dist/overlays/relationships-browser/custom/nodeTypes.d.ts +37 -37
  210. package/dist/overlays/relationships-browser/custom/nodeTypes.js +36 -40
  211. package/dist/overlays/relationships-browser/custom/styles.css.js +14 -5
  212. package/dist/overlays/relationships-browser/hooks.d.ts +14 -6
  213. package/dist/overlays/relationships-browser/hooks.js +25 -16
  214. package/dist/overlays/relationships-browser/useViewToNodesEdges.js +13 -18
  215. package/dist/packages/core/src/compute-view/relationships-view/compute.js +123 -0
  216. package/dist/packages/core/src/compute-view/relationships-view/utils.js +68 -0
  217. package/dist/packages/core/src/errors/index.js +15 -0
  218. package/dist/packages/core/src/utils/fqn.js +43 -0
  219. package/dist/packages/core/src/utils/guards.js +7 -0
  220. package/dist/packages/core/src/utils/iterable/filter.js +21 -0
  221. package/dist/packages/core/src/utils/iterable/map.js +18 -0
  222. package/dist/packages/core/src/utils/iterable/to.js +14 -0
  223. package/dist/src/index.ts.d.ts +2 -0
  224. package/dist/state/DiagramActorProvider.js +26 -27
  225. package/dist/state/aligners.js +22 -31
  226. package/dist/state/assign.js +11 -21
  227. package/dist/state/diagram-machine.d.ts +5155 -4470
  228. package/dist/state/diagram-machine.js +407 -337
  229. package/dist/state/hotkeyActor.js +5 -5
  230. package/dist/state/inspector.d.ts +1 -1
  231. package/dist/state/persistence.js +4 -4
  232. package/dist/state/syncManualLayoutActor.d.ts +1 -1
  233. package/dist/state/syncManualLayoutActor.js +10 -10
  234. package/dist/state/utils.js +4 -9
  235. package/dist/styles.css.js +3 -0
  236. package/dist/utils/vector.js +2 -4
  237. package/dist/utils/xyflow.js +7 -12
  238. package/package.json +43 -42
  239. package/src/LikeC4CustomColors.tsx +44 -20
  240. package/src/LikeC4Diagram.props.ts +32 -0
  241. package/src/LikeC4Diagram.tsx +16 -14
  242. package/src/base/BaseXYFlow.tsx +67 -43
  243. package/src/base/primitives/compound/CompoundActionButton.tsx +41 -20
  244. package/src/base/primitives/compound/CompoundDetailsButton.tsx +48 -25
  245. package/src/base/primitives/compound/CompoundNodeContainer.css.ts +111 -111
  246. package/src/base/primitives/compound/CompoundNodeContainer.tsx +92 -92
  247. package/src/base/primitives/compound/CompoundTitle.tsx +73 -7
  248. package/src/base/primitives/compound/actionbtns.css.ts +30 -0
  249. package/src/base/primitives/customEdge.ts +2 -3
  250. package/src/base/primitives/edge/EdgeActionButton.tsx +3 -5
  251. package/src/base/primitives/edge/EdgeContainer.tsx +17 -9
  252. package/src/base/primitives/edge/EdgeLabel.css.ts +113 -177
  253. package/src/base/primitives/edge/EdgeLabel.tsx +43 -114
  254. package/src/base/primitives/edge/EdgeLabelContainer.tsx +118 -0
  255. package/src/base/primitives/edge/EdgePath.tsx +31 -37
  256. package/src/base/primitives/edge/edge.css.ts +105 -132
  257. package/src/base/primitives/edge/xyvars.ts +31 -0
  258. package/src/base/primitives/element/ElementActionButtons.tsx +30 -10
  259. package/src/base/primitives/element/ElementDetailsButton.tsx +27 -8
  260. package/src/base/primitives/element/ElementNodeContainer.css.ts +43 -70
  261. package/src/base/primitives/element/ElementNodeContainer.tsx +18 -8
  262. package/src/base/primitives/element/ElementShape.css.ts +80 -113
  263. package/src/base/primitives/element/ElementShape.tsx +0 -1
  264. package/src/base/primitives/element/ElementTitle.css.ts +168 -124
  265. package/src/base/primitives/element/ElementTitle.tsx +16 -16
  266. package/src/base/primitives/index.ts +1 -0
  267. package/src/base/types.ts +5 -0
  268. package/src/bundle/LikeC4ModelProvider.tsx +12 -0
  269. package/src/bundle/LikeC4View.props.ts +249 -0
  270. package/src/bundle/LikeC4View.tsx +196 -0
  271. package/src/bundle/ReactLikeC4.tsx +148 -0
  272. package/src/bundle/ShadowRoot.tsx +60 -0
  273. package/src/bundle/ViewNotFound.tsx +25 -0
  274. package/src/bundle/font.css +251 -0
  275. package/src/bundle/index.ts +7 -0
  276. package/src/bundle/react-dom-server-mock.ts +3 -0
  277. package/src/bundle/styles.css.ts +168 -0
  278. package/src/components/Link.tsx +56 -5
  279. package/src/components/SearchControl.css.ts +52 -59
  280. package/src/components/SearchControl.tsx +2 -5
  281. package/src/context/ReduceGraphics.tsx +9 -47
  282. package/src/context/RootContainer.tsx +21 -5
  283. package/src/hooks/safeContext.tsx +2 -3
  284. package/src/hooks/useCurrentViewId.ts +4 -4
  285. package/src/hooks/useDiagram.ts +4 -3
  286. package/src/hooks/useOverlaysActor.ts +11 -0
  287. package/src/hooks/useReducedGraphics.ts +8 -1
  288. package/src/hooks/useXYFlow.ts +2 -2
  289. package/src/index.ts +1 -3
  290. package/src/likec4diagram/DiagramUI.tsx +2 -2
  291. package/src/likec4diagram/DiagramXYFlow.tsx +80 -26
  292. package/src/likec4diagram/custom/edges/NotePopover.css.ts +7 -13
  293. package/src/likec4diagram/custom/edges/RelationshipEdge.tsx +69 -42
  294. package/src/likec4diagram/custom/edges/RelationshipsDropdownMenu.css.ts +23 -44
  295. package/src/likec4diagram/custom/edges/RelationshipsDropdownMenu.tsx +26 -24
  296. package/src/likec4diagram/custom/edges/edges.css.ts +25 -32
  297. package/src/likec4diagram/custom/nodes/nodeTypes.tsx +2 -2
  298. package/src/likec4diagram/custom/nodes/toolbar/Toolbar.tsx +9 -5
  299. package/src/likec4diagram/custom/nodes/toolbar/styles.css.ts +3 -4
  300. package/src/likec4diagram/ui/controls/LayoutDriftNotification.tsx +2 -2
  301. package/src/likec4diagram/ui/controls/styles.css.ts +46 -57
  302. package/src/likec4diagram/ui/diagram-title/DiagramTitlePanel.css.ts +38 -34
  303. package/src/likec4diagram/ui/diagram-title/DiagramTitlePanel.tsx +4 -4
  304. package/src/likec4diagram/ui/notation/NotationPanel.css.ts +44 -56
  305. package/src/likec4diagram/ui/notation/NotationPanel.tsx +17 -14
  306. package/src/likec4diagram/ui/search/ElementsColumn.css.ts +80 -85
  307. package/src/likec4diagram/ui/search/ElementsColumn.tsx +21 -14
  308. package/src/likec4diagram/ui/search/LikeC4Search.css.ts +50 -67
  309. package/src/likec4diagram/ui/search/LikeC4Search.tsx +1 -2
  310. package/src/likec4diagram/ui/search/SearchInput.tsx +2 -2
  311. package/src/likec4diagram/ui/search/ViewsColum.tsx +10 -7
  312. package/src/likec4diagram/ui/search/ViewsColumn.css.ts +29 -28
  313. package/src/likec4diagram/ui/search/_shared.css.ts +158 -74
  314. package/src/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.css.ts +31 -34
  315. package/src/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.tsx +6 -6
  316. package/src/likec4diagram/useViewToNodesEdges.ts +2 -1
  317. package/src/overlays/Overlays.tsx +6 -4
  318. package/src/overlays/element-details/ElementDetailsCard.css.ts +143 -177
  319. package/src/overlays/element-details/ElementDetailsCard.tsx +29 -29
  320. package/src/overlays/element-details/TabPanelDeployments.css.ts +49 -54
  321. package/src/overlays/element-details/TabPanelRelationships.css.ts +62 -66
  322. package/src/overlays/element-details/TabPanelRelationships.tsx +32 -3
  323. package/src/overlays/element-details/TabPanelStructure.css.ts +26 -26
  324. package/src/overlays/element-details/actor.ts +4 -2
  325. package/src/overlays/overlay/Overlay.css.ts +34 -46
  326. package/src/overlays/overlay/Overlay.tsx +95 -97
  327. package/src/overlays/overlaysActor.ts +1 -0
  328. package/src/overlays/relationship-details/RelationshipDetails.tsx +15 -3
  329. package/src/overlays/relationship-details/SelectEdge.css.ts +52 -71
  330. package/src/overlays/relationship-details/SelectEdge.tsx +1 -2
  331. package/src/overlays/relationship-details/custom/edgeTypes.tsx +35 -30
  332. package/src/overlays/relationship-details/custom/index.ts +2 -0
  333. package/src/overlays/relationship-details/custom/nodeTypes.tsx +20 -24
  334. package/src/overlays/relationship-details/custom/styles.css.ts +8 -8
  335. package/src/overlays/relationships-browser/-useRelationshipsView.ts +55 -82
  336. package/src/overlays/relationships-browser/RelationshipsBrowser.tsx +39 -36
  337. package/src/overlays/relationships-browser/SelectElement.css.ts +9 -12
  338. package/src/overlays/relationships-browser/SelectElement.tsx +192 -105
  339. package/src/overlays/relationships-browser/_types.ts +4 -9
  340. package/src/overlays/relationships-browser/actor.ts +144 -123
  341. package/src/overlays/relationships-browser/const.ts +1 -1
  342. package/src/overlays/relationships-browser/custom/EmptyNode.tsx +2 -2
  343. package/src/overlays/relationships-browser/custom/edgeTypes.tsx +95 -59
  344. package/src/overlays/relationships-browser/custom/index.ts +2 -0
  345. package/src/overlays/relationships-browser/custom/nodeTypes.tsx +25 -26
  346. package/src/overlays/relationships-browser/custom/styles.css.ts +5 -6
  347. package/src/overlays/relationships-browser/hooks.ts +17 -3
  348. package/src/overlays/relationships-browser/useViewToNodesEdges.ts +4 -10
  349. package/src/state/DiagramActorProvider.tsx +17 -16
  350. package/src/state/diagram-machine.ts +395 -315
  351. package/src/state/inspector.ts +1 -1
  352. package/src/styles.css +3 -0
  353. package/dist/LikeC4Diagram.css.d.ts +0 -8
  354. package/dist/LikeC4Diagram.css.js +0 -11
  355. package/dist/base/example/RelationshipsBrowser.d.ts +0 -6
  356. package/dist/base/example/_types.d.ts +0 -20
  357. package/dist/base/example/custom.d.ts +0 -72
  358. package/dist/base/example/useViewToNodesEdges.d.ts +0 -6
  359. package/dist/base/primitives/compound/CompoundActionButton.css.d.ts +0 -2
  360. package/dist/base/primitives/compound/CompoundActionButton.css.js +0 -8
  361. package/dist/base/primitives/compound/CompoundDetailsButton.css.d.ts +0 -3
  362. package/dist/base/primitives/compound/CompoundDetailsButton.css.js +0 -8
  363. package/dist/base/primitives/compound/CompoundTitle.css.d.ts +0 -3
  364. package/dist/base/primitives/compound/CompoundTitle.css.js +0 -10
  365. package/dist/base/primitives/element/ElementActionButtons.css.d.ts +0 -3
  366. package/dist/base/primitives/element/ElementActionButtons.css.js +0 -10
  367. package/dist/base/primitives/element/ElementDetailsButton.css.d.ts +0 -3
  368. package/dist/base/primitives/element/ElementDetailsButton.css.js +0 -8
  369. package/dist/base/primitives/element/vars.css.d.ts +0 -3
  370. package/dist/base/primitives/element/vars.css.ts.vanilla.css.js +0 -1
  371. package/dist/components/Link.css.d.ts +0 -3
  372. package/dist/components/Link.css.js +0 -9
  373. package/dist/diagram.css +0 -1
  374. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Accordion/Accordion.module.css.mjs.vanilla.css.js +0 -1
  375. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/ActionIcon/ActionIcon.module.css.mjs.vanilla.css.js +0 -1
  376. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Affix/Affix.module.css.mjs.vanilla.css.js +0 -1
  377. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Alert/Alert.module.css.mjs.vanilla.css.js +0 -1
  378. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Anchor/Anchor.module.css.mjs.vanilla.css.js +0 -1
  379. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/AngleSlider/AngleSlider.module.css.mjs.vanilla.css.js +0 -1
  380. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/AppShell/AppShell.module.css.mjs.vanilla.css.js +0 -1
  381. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/AspectRatio/AspectRatio.module.css.mjs.vanilla.css.js +0 -1
  382. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Avatar/Avatar.module.css.mjs.vanilla.css.js +0 -1
  383. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/BackgroundImage/BackgroundImage.module.css.mjs.vanilla.css.js +0 -1
  384. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Badge/Badge.module.css.mjs.vanilla.css.js +0 -1
  385. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Blockquote/Blockquote.module.css.mjs.vanilla.css.js +0 -1
  386. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Breadcrumbs/Breadcrumbs.module.css.mjs.vanilla.css.js +0 -1
  387. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Burger/Burger.module.css.mjs.vanilla.css.js +0 -1
  388. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Button/Button.module.css.mjs.vanilla.css.js +0 -1
  389. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Card/Card.module.css.mjs.vanilla.css.js +0 -1
  390. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Center/Center.module.css.mjs.vanilla.css.js +0 -1
  391. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Checkbox/Checkbox.module.css.mjs.vanilla.css.js +0 -1
  392. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Checkbox/CheckboxCard/CheckboxCard.module.css.mjs.vanilla.css.js +0 -1
  393. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.module.css.mjs.vanilla.css.js +0 -1
  394. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Chip/Chip.module.css.mjs.vanilla.css.js +0 -1
  395. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/CloseButton/CloseButton.module.css.mjs.vanilla.css.js +0 -1
  396. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Code/Code.module.css.mjs.vanilla.css.js +0 -1
  397. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/ColorInput/ColorInput.module.css.mjs.vanilla.css.js +0 -1
  398. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/ColorPicker/ColorPicker.module.css.mjs.vanilla.css.js +0 -1
  399. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/ColorSwatch/ColorSwatch.module.css.mjs.vanilla.css.js +0 -1
  400. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Combobox/Combobox.module.css.mjs.vanilla.css.js +0 -1
  401. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Container/Container.module.css.mjs.vanilla.css.js +0 -1
  402. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Dialog/Dialog.module.css.mjs.vanilla.css.js +0 -1
  403. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Divider/Divider.module.css.mjs.vanilla.css.js +0 -1
  404. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Drawer/Drawer.module.css.mjs.vanilla.css.js +0 -1
  405. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Fieldset/Fieldset.module.css.mjs.vanilla.css.js +0 -1
  406. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Flex/Flex.module.css.mjs.vanilla.css.js +0 -1
  407. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/FloatingIndicator/FloatingIndicator.module.css.mjs.vanilla.css.js +0 -1
  408. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Grid/Grid.module.css.mjs.vanilla.css.js +0 -1
  409. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Group/Group.module.css.mjs.vanilla.css.js +0 -1
  410. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Image/Image.module.css.mjs.vanilla.css.js +0 -1
  411. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Indicator/Indicator.module.css.mjs.vanilla.css.js +0 -1
  412. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/InlineInput/InlineInput.module.css.mjs.vanilla.css.js +0 -1
  413. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Input/Input.module.css.mjs.vanilla.css.js +0 -1
  414. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Kbd/Kbd.module.css.mjs.vanilla.css.js +0 -1
  415. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/List/List.module.css.mjs.vanilla.css.js +0 -1
  416. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Loader/Loader.module.css.mjs.vanilla.css.js +0 -1
  417. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/LoadingOverlay/LoadingOverlay.module.css.mjs.vanilla.css.js +0 -1
  418. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Mark/Mark.module.css.mjs.vanilla.css.js +0 -1
  419. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Menu/Menu.module.css.mjs.vanilla.css.js +0 -1
  420. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Modal/Modal.module.css.mjs.vanilla.css.js +0 -1
  421. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/ModalBase/ModalBase.module.css.mjs.vanilla.css.js +0 -1
  422. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/NavLink/NavLink.module.css.mjs.vanilla.css.js +0 -1
  423. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Notification/Notification.module.css.mjs.vanilla.css.js +0 -1
  424. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/NumberInput/NumberInput.module.css.mjs.vanilla.css.js +0 -1
  425. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Overlay/Overlay.module.css.mjs.vanilla.css.js +0 -1
  426. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Pagination/Pagination.module.css.mjs.vanilla.css.js +0 -1
  427. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Paper/Paper.module.css.mjs.vanilla.css.js +0 -1
  428. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/PasswordInput/PasswordInput.module.css.mjs.vanilla.css.js +0 -1
  429. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Pill/Pill.module.css.mjs.vanilla.css.js +0 -1
  430. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/PillsInput/PillsInput.module.css.mjs.vanilla.css.js +0 -1
  431. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/PinInput/PinInput.module.css.mjs.vanilla.css.js +0 -1
  432. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Popover/Popover.module.css.mjs.vanilla.css.js +0 -1
  433. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Progress/Progress.module.css.mjs.vanilla.css.js +0 -1
  434. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Radio/Radio.module.css.mjs.vanilla.css.js +0 -1
  435. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Radio/RadioCard/RadioCard.module.css.mjs.vanilla.css.js +0 -1
  436. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Radio/RadioIndicator/RadioIndicator.module.css.mjs.vanilla.css.js +0 -1
  437. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Rating/Rating.module.css.mjs.vanilla.css.js +0 -1
  438. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/RingProgress/RingProgress.module.css.mjs.vanilla.css.js +0 -1
  439. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/ScrollArea/ScrollArea.module.css.mjs.vanilla.css.js +0 -1
  440. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/SegmentedControl/SegmentedControl.module.css.mjs.vanilla.css.js +0 -1
  441. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/SemiCircleProgress/SemiCircleProgress.module.css.mjs.vanilla.css.js +0 -1
  442. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/SimpleGrid/SimpleGrid.module.css.mjs.vanilla.css.js +0 -1
  443. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Skeleton/Skeleton.module.css.mjs.vanilla.css.js +0 -1
  444. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Slider/Slider.module.css.mjs.vanilla.css.js +0 -1
  445. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Spoiler/Spoiler.module.css.mjs.vanilla.css.js +0 -1
  446. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Stack/Stack.module.css.mjs.vanilla.css.js +0 -1
  447. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Stepper/Stepper.module.css.mjs.vanilla.css.js +0 -1
  448. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Switch/Switch.module.css.mjs.vanilla.css.js +0 -1
  449. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Table/Table.module.css.mjs.vanilla.css.js +0 -1
  450. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/TableOfContents/TableOfContents.module.css.mjs.vanilla.css.js +0 -1
  451. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Tabs/Tabs.module.css.mjs.vanilla.css.js +0 -1
  452. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Text/Text.module.css.mjs.vanilla.css.js +0 -1
  453. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/ThemeIcon/ThemeIcon.module.css.mjs.vanilla.css.js +0 -1
  454. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Timeline/Timeline.module.css.mjs.vanilla.css.js +0 -1
  455. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Title/Title.module.css.mjs.vanilla.css.js +0 -1
  456. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Tooltip/Tooltip.module.css.mjs.vanilla.css.js +0 -1
  457. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/Tree/Tree.module.css.mjs.vanilla.css.js +0 -1
  458. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/TypographyStylesProvider/TypographyStylesProvider.module.css.mjs.vanilla.css.js +0 -1
  459. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/UnstyledButton/UnstyledButton.module.css.mjs.vanilla.css.js +0 -1
  460. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.10_react-dom_fbfa2b80048a2180882527b4a447e1ea/node_modules/@mantine/core/esm/components/VisuallyHidden/VisuallyHidden.module.css.mjs.vanilla.css.js +0 -1
  461. package/dist/theme-vars.css.d.ts +0 -63
  462. package/dist/theme-vars.css.js +0 -7
  463. package/dist/theme-vars.css.ts.vanilla.css.js +0 -1
  464. package/dist/theme-vars.d.ts +0 -16
  465. package/dist/theme-vars.js +0 -7
  466. package/dist/utils/css.js +0 -10
  467. package/src/LikeC4Diagram.css.ts +0 -198
  468. package/src/base/example/RelationshipsBrowser.tsx +0 -62
  469. package/src/base/example/_types.ts +0 -72
  470. package/src/base/example/custom.tsx +0 -58
  471. package/src/base/example/useViewToNodesEdges.ts +0 -194
  472. package/src/base/primitives/compound/CompoundActionButton.css.ts +0 -52
  473. package/src/base/primitives/compound/CompoundDetailsButton.css.ts +0 -58
  474. package/src/base/primitives/compound/CompoundTitle.css.ts +0 -65
  475. package/src/base/primitives/element/ElementActionButtons.css.ts +0 -52
  476. package/src/base/primitives/element/ElementDetailsButton.css.ts +0 -50
  477. package/src/base/primitives/element/vars.css.ts +0 -5
  478. package/src/components/Link.css.ts +0 -49
  479. package/src/overlays/relationship-details/custom/index.tsx +0 -2
  480. package/src/overlays/relationships-browser/custom/index.tsx +0 -2
  481. package/src/theme-vars.css.ts +0 -69
  482. package/src/theme-vars.ts +0 -25
@@ -1,4 +1,4 @@
1
- import { BBox, DiagramView, Fqn, NonEmptyArray, RelationId, Color, ViewId, RelationshipLineType } from '@likec4/core';
1
+ import { BBox, Fqn, ViewId, NonEmptyArray, RelationId, Color, RelationshipLineType } from '@likec4/core';
2
2
  import { EdgeChange, NodeChange, ReactFlowInstance, useStoreApi, GeneralHelpers, ViewportHelperFunctions, ReactFlowState } from '@xyflow/react';
3
3
  import { ActorLogicFrom, ActorRefFromLogic, SnapshotFrom, PromiseActorLogic, EventObject, StateMachine, Values, NonReducibleUnknown, MetaObject, ConditionalRequired, InputFrom, RequiredActorOptions, IsNotNever, GetConcreteByKey, AnyActorLogic, RequiredLogicInput, ActorRef, MachineSnapshot, AnyActorRef, StateValue, AnyEventObject, ActionFunction, CancelAction, DoneActorEvent } from 'xstate';
4
4
  import { Base } from '../../base';
@@ -8,15 +8,31 @@ import { EdgeMarkerType, HandleType } from '@xyflow/system';
8
8
  import { ReactNode, CSSProperties } from 'react';
9
9
  type XYFLowInstance = ReactFlowInstance<RelationshipsBrowserTypes.Node, RelationshipsBrowserTypes.Edge>;
10
10
  export type XYStoreApi = ReturnType<typeof useStoreApi<RelationshipsBrowserTypes.Node, RelationshipsBrowserTypes.Edge>>;
11
+ export declare const layouter: PromiseActorLogic<{
12
+ xyedges: RelationshipsBrowserTypes.Edge[];
13
+ xynodes: RelationshipsBrowserTypes.Node[];
14
+ }, {
15
+ subjectId: Fqn;
16
+ navigateFromNode: string | null;
17
+ xyflow: XYFLowInstance;
18
+ xystore: XYStoreApi;
19
+ update: LayoutRelationshipsViewResult;
20
+ }, EventObject>;
11
21
  export type Input = {
12
22
  subject: Fqn;
13
- scope?: DiagramView | null;
23
+ viewId: ViewId | null;
24
+ scope: 'global' | 'view';
14
25
  closeable?: boolean;
15
- enableNavigationMenu?: boolean;
26
+ enableSelectSubject?: boolean;
27
+ enableChangeScope?: boolean;
16
28
  };
17
- export type Context = Readonly<Input & {
29
+ export type Context = Readonly<{
30
+ subject: Fqn;
31
+ viewId: ViewId | null;
32
+ scope: 'global' | 'view';
18
33
  closeable: boolean;
19
- enableNavigationMenu: boolean;
34
+ enableSelectSubject: boolean;
35
+ enableChangeScope: boolean;
20
36
  xyflow: XYFLowInstance | null;
21
37
  xystore: XYStoreApi | null;
22
38
  layouted: LayoutRelationshipsViewResult | null;
@@ -72,29 +88,27 @@ export type Events = {
72
88
  type: 'navigate.to';
73
89
  subject: Fqn;
74
90
  fromNode?: string | undefined;
91
+ viewId?: ViewId | undefined;
75
92
  } | {
76
93
  type: 'update.xydata';
77
94
  xynodes: RelationshipsBrowserTypes.Node[];
78
95
  xyedges: RelationshipsBrowserTypes.Edge[];
96
+ } | {
97
+ type: 'change.scope';
98
+ scope: 'global' | 'view';
79
99
  } | {
80
100
  type: 'update.view';
81
101
  layouted: LayoutRelationshipsViewResult;
82
102
  } | {
83
103
  type: 'close';
84
104
  };
85
- export declare const layouter: PromiseActorLogic<{
86
- xyedges: RelationshipsBrowserTypes.Edge[];
87
- xynodes: RelationshipsBrowserTypes.Node[];
88
- }, {
89
- subjectId: Fqn;
90
- navigateFromNode: string | null;
91
- xyflow: XYFLowInstance;
92
- xystore: XYStoreApi;
93
- update: LayoutRelationshipsViewResult;
94
- }, EventObject>;
95
- export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
105
+ export declare const relationshipsBrowserLogic: StateMachine<Readonly<{
106
+ subject: Fqn;
107
+ viewId: ViewId | null;
108
+ scope: "global" | "view";
96
109
  closeable: boolean;
97
- enableNavigationMenu: boolean;
110
+ enableSelectSubject: boolean;
111
+ enableChangeScope: boolean;
98
112
  xyflow: XYFLowInstance | null;
99
113
  xystore: XYStoreApi | null;
100
114
  layouted: LayoutRelationshipsViewResult | null;
@@ -130,6 +144,14 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
130
144
  type: "xyflow.init";
131
145
  params: NonReducibleUnknown;
132
146
  };
147
+ "xyflow.applyNodeChanges": {
148
+ type: "xyflow.applyNodeChanges";
149
+ params: NonReducibleUnknown;
150
+ };
151
+ "xyflow.applyEdgeChanges": {
152
+ type: "xyflow.applyEdgeChanges";
153
+ params: NonReducibleUnknown;
154
+ };
133
155
  "update.view": {
134
156
  type: "update.view";
135
157
  params: NonReducibleUnknown;
@@ -145,10 +167,16 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
145
167
  bounds?: BBox;
146
168
  } | undefined;
147
169
  };
148
- }>, {
149
- type: "isReady";
150
- params: unknown;
151
- }, never, "isReady" | "initializing" | "closed" | {
170
+ }>, Values<{
171
+ isReady: {
172
+ type: "isReady";
173
+ params: unknown;
174
+ };
175
+ anotherSubject: {
176
+ type: "anotherSubject";
177
+ params: unknown;
178
+ };
179
+ }>, never, "isReady" | "initializing" | "closed" | {
152
180
  active: "idle" | "layouting";
153
181
  }, "active", Input, NonReducibleUnknown, EventObject, MetaObject, {
154
182
  readonly id: "relationships-browser";
@@ -183,13 +211,14 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
183
211
  className?: string;
184
212
  reconnectable?: boolean | HandleType;
185
213
  focusable?: boolean;
186
- type: "relationships";
214
+ type: "relationship";
187
215
  data: {
188
216
  relations: NonEmptyArray<RelationId>;
189
217
  color: Color | undefined;
190
218
  label: string | null;
191
219
  navigateTo: ViewId | null;
192
220
  line: RelationshipLineType;
221
+ existsInCurrentView: boolean;
193
222
  hovered?: boolean;
194
223
  active?: boolean;
195
224
  dimmed?: Base.Dimmed;
@@ -233,13 +262,14 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
233
262
  className?: string;
234
263
  reconnectable?: boolean | HandleType;
235
264
  focusable?: boolean;
236
- type: "relationships";
265
+ type: "relationship";
237
266
  data: {
238
267
  relations: NonEmptyArray<RelationId>;
239
268
  color: Color | undefined;
240
269
  label: string | null;
241
270
  navigateTo: ViewId | null;
242
271
  line: RelationshipLineType;
272
+ existsInCurrentView: boolean;
243
273
  hovered?: boolean;
244
274
  active?: boolean;
245
275
  dimmed?: Base.Dimmed;
@@ -290,13 +320,14 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
290
320
  className?: string;
291
321
  reconnectable?: boolean | HandleType;
292
322
  focusable?: boolean;
293
- type: "relationships";
323
+ type: "relationship";
294
324
  data: {
295
325
  relations: NonEmptyArray<RelationId>;
296
326
  color: Color | undefined;
297
327
  label: string | null;
298
328
  navigateTo: ViewId | null;
299
329
  line: RelationshipLineType;
330
+ existsInCurrentView: boolean;
300
331
  hovered?: boolean;
301
332
  active?: boolean;
302
333
  dimmed?: Base.Dimmed;
@@ -320,9 +351,13 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
320
351
  } & { [K in RequiredLogicInput<TLogic>]: unknown; }], IsNotNever<RequiredLogicInput<TLogic>>>): ActorRefFromLogic<TLogic>;
321
352
  };
322
353
  input: Input;
323
- self: ActorRef<MachineSnapshot<Readonly<Input & {
354
+ self: ActorRef<MachineSnapshot<Readonly<{
355
+ subject: Fqn;
356
+ viewId: ViewId | null;
357
+ scope: "global" | "view";
324
358
  closeable: boolean;
325
- enableNavigationMenu: boolean;
359
+ enableSelectSubject: boolean;
360
+ enableChangeScope: boolean;
326
361
  xyflow: XYFLowInstance | null;
327
362
  xystore: XYStoreApi | null;
328
363
  layouted: LayoutRelationshipsViewResult | null;
@@ -331,74 +366,26 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
331
366
  xyedges: RelationshipsBrowserTypes.Edge[];
332
367
  }>, Events, Record<string, AnyActorRef | undefined>, StateValue, string, unknown, any, any>, Events, AnyEventObject>;
333
368
  }) => {
369
+ subject: Fqn;
370
+ viewId: ViewId | null;
371
+ scope: "global" | "view";
334
372
  closeable: boolean;
335
- enableNavigationMenu: boolean;
373
+ enableSelectSubject: boolean;
374
+ enableChangeScope: boolean;
336
375
  xyflow: null;
337
376
  xystore: null;
338
377
  layouted: null;
339
378
  navigateFromNode: null;
340
379
  xynodes: never[];
341
380
  xyedges: never[];
342
- subject: Fqn;
343
- scope?: DiagramView | null;
344
381
  };
345
382
  readonly initial: "initializing";
346
383
  readonly on: {
347
384
  readonly 'xyflow.applyNodeChanges': {
348
- readonly actions: ActionFunction<Readonly<Input & {
349
- closeable: boolean;
350
- enableNavigationMenu: boolean;
351
- xyflow: XYFLowInstance | null;
352
- xystore: XYStoreApi | null;
353
- layouted: LayoutRelationshipsViewResult | null;
354
- navigateFromNode: string | null;
355
- xynodes: RelationshipsBrowserTypes.Node[];
356
- xyedges: RelationshipsBrowserTypes.Edge[];
357
- }>, {
358
- type: "xyflow.applyNodeChanges";
359
- changes: NodeChange<RelationshipsBrowserTypes.Node>[];
360
- }, Events, undefined, {
361
- src: "layouter";
362
- logic: PromiseActorLogic<{
363
- xyedges: RelationshipsBrowserTypes.Edge[];
364
- xynodes: RelationshipsBrowserTypes.Node[];
365
- }, {
366
- subjectId: Fqn;
367
- navigateFromNode: string | null;
368
- xyflow: XYFLowInstance;
369
- xystore: XYStoreApi;
370
- update: LayoutRelationshipsViewResult;
371
- }, EventObject>;
372
- id: "layouter";
373
- }, never, never, never, never>;
385
+ readonly actions: "xyflow.applyNodeChanges";
374
386
  };
375
387
  readonly 'xyflow.applyEdgeChanges': {
376
- readonly actions: ActionFunction<Readonly<Input & {
377
- closeable: boolean;
378
- enableNavigationMenu: boolean;
379
- xyflow: XYFLowInstance | null;
380
- xystore: XYStoreApi | null;
381
- layouted: LayoutRelationshipsViewResult | null;
382
- navigateFromNode: string | null;
383
- xynodes: RelationshipsBrowserTypes.Node[];
384
- xyedges: RelationshipsBrowserTypes.Edge[];
385
- }>, {
386
- type: "xyflow.applyEdgeChanges";
387
- changes: EdgeChange<RelationshipsBrowserTypes.Edge>[];
388
- }, Events, undefined, {
389
- src: "layouter";
390
- logic: PromiseActorLogic<{
391
- xyedges: RelationshipsBrowserTypes.Edge[];
392
- xynodes: RelationshipsBrowserTypes.Node[];
393
- }, {
394
- subjectId: Fqn;
395
- navigateFromNode: string | null;
396
- xyflow: XYFLowInstance;
397
- xystore: XYStoreApi;
398
- update: LayoutRelationshipsViewResult;
399
- }, EventObject>;
400
- id: "layouter";
401
- }, never, never, never, never>;
388
+ readonly actions: "xyflow.applyEdgeChanges";
402
389
  };
403
390
  };
404
391
  readonly states: {
@@ -419,18 +406,18 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
419
406
  readonly isReady: {
420
407
  readonly always: readonly [{
421
408
  readonly guard: "isReady";
422
- readonly actions: readonly [ ActionFunction<Readonly<Input & {
423
- closeable: boolean;
424
- enableNavigationMenu: boolean;
425
- xyflow: XYFLowInstance | null;
426
- xystore: XYStoreApi | null;
427
- layouted: LayoutRelationshipsViewResult | null;
428
- navigateFromNode: string | null;
429
- xynodes: RelationshipsBrowserTypes.Node[];
430
- xyedges: RelationshipsBrowserTypes.Edge[];
431
- }>, Events, Events, undefined, never, never, never, never, never>, ActionFunction<Readonly<Input & {
409
+ readonly actions: readonly [{
410
+ readonly type: "xyflow:fitDiagram";
411
+ readonly params: {
412
+ readonly duration: 0;
413
+ };
414
+ }, ActionFunction<Readonly<{
415
+ subject: Fqn;
416
+ viewId: ViewId | null;
417
+ scope: "global" | "view";
432
418
  closeable: boolean;
433
- enableNavigationMenu: boolean;
419
+ enableSelectSubject: boolean;
420
+ enableChangeScope: boolean;
434
421
  xyflow: XYFLowInstance | null;
435
422
  xystore: XYStoreApi | null;
436
423
  layouted: LayoutRelationshipsViewResult | null;
@@ -446,13 +433,272 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
446
433
  readonly active: {
447
434
  readonly initial: "idle";
448
435
  readonly tags: readonly ["active"];
436
+ readonly on: {
437
+ readonly 'xyflow.nodeClick': {
438
+ readonly actions: ActionFunction<Readonly<{
439
+ subject: Fqn;
440
+ viewId: ViewId | null;
441
+ scope: "global" | "view";
442
+ closeable: boolean;
443
+ enableSelectSubject: boolean;
444
+ enableChangeScope: boolean;
445
+ xyflow: XYFLowInstance | null;
446
+ xystore: XYStoreApi | null;
447
+ layouted: LayoutRelationshipsViewResult | null;
448
+ navigateFromNode: string | null;
449
+ xynodes: RelationshipsBrowserTypes.Node[];
450
+ xyedges: RelationshipsBrowserTypes.Edge[];
451
+ }>, {
452
+ type: "xyflow.nodeClick";
453
+ node: RelationshipsBrowserTypes.Node;
454
+ }, Events, undefined, {
455
+ src: "layouter";
456
+ logic: PromiseActorLogic<{
457
+ xyedges: RelationshipsBrowserTypes.Edge[];
458
+ xynodes: RelationshipsBrowserTypes.Node[];
459
+ }, {
460
+ subjectId: Fqn;
461
+ navigateFromNode: string | null;
462
+ xyflow: XYFLowInstance;
463
+ xystore: XYStoreApi;
464
+ update: LayoutRelationshipsViewResult;
465
+ }, EventObject>;
466
+ id: "layouter";
467
+ }, Values<{
468
+ "xyflow.init": {
469
+ type: "xyflow.init";
470
+ params: NonReducibleUnknown;
471
+ };
472
+ "xyflow.applyNodeChanges": {
473
+ type: "xyflow.applyNodeChanges";
474
+ params: NonReducibleUnknown;
475
+ };
476
+ "xyflow.applyEdgeChanges": {
477
+ type: "xyflow.applyEdgeChanges";
478
+ params: NonReducibleUnknown;
479
+ };
480
+ "update.view": {
481
+ type: "update.view";
482
+ params: NonReducibleUnknown;
483
+ };
484
+ "xyflow:updateNodeInternals": {
485
+ type: "xyflow:updateNodeInternals";
486
+ params: unknown;
487
+ };
488
+ "xyflow:fitDiagram": {
489
+ type: "xyflow:fitDiagram";
490
+ params: {
491
+ duration?: number;
492
+ bounds?: BBox;
493
+ } | undefined;
494
+ };
495
+ }>, Values<{
496
+ isReady: {
497
+ type: "isReady";
498
+ params: unknown;
499
+ };
500
+ anotherSubject: {
501
+ type: "anotherSubject";
502
+ params: unknown;
503
+ };
504
+ }>, never, EventObject>;
505
+ };
506
+ readonly 'navigate.to': {
507
+ readonly actions: readonly [ ActionFunction<Readonly<{
508
+ subject: Fqn;
509
+ viewId: ViewId | null;
510
+ scope: "global" | "view";
511
+ closeable: boolean;
512
+ enableSelectSubject: boolean;
513
+ enableChangeScope: boolean;
514
+ xyflow: XYFLowInstance | null;
515
+ xystore: XYStoreApi | null;
516
+ layouted: LayoutRelationshipsViewResult | null;
517
+ navigateFromNode: string | null;
518
+ xynodes: RelationshipsBrowserTypes.Node[];
519
+ xyedges: RelationshipsBrowserTypes.Edge[];
520
+ }>, {
521
+ type: "navigate.to";
522
+ subject: Fqn;
523
+ fromNode?: string | undefined;
524
+ viewId?: ViewId | undefined;
525
+ }, Events, undefined, {
526
+ src: "layouter";
527
+ logic: PromiseActorLogic<{
528
+ xyedges: RelationshipsBrowserTypes.Edge[];
529
+ xynodes: RelationshipsBrowserTypes.Node[];
530
+ }, {
531
+ subjectId: Fqn;
532
+ navigateFromNode: string | null;
533
+ xyflow: XYFLowInstance;
534
+ xystore: XYStoreApi;
535
+ update: LayoutRelationshipsViewResult;
536
+ }, EventObject>;
537
+ id: "layouter";
538
+ }, never, never, never, never>];
539
+ };
540
+ readonly 'xyflow.paneDblClick': {
541
+ readonly actions: "xyflow:fitDiagram";
542
+ };
543
+ readonly 'update.view': {
544
+ readonly actions: "update.view";
545
+ readonly target: ".layouting";
546
+ };
547
+ readonly 'change.scope': {
548
+ readonly actions: ActionFunction<Readonly<{
549
+ subject: Fqn;
550
+ viewId: ViewId | null;
551
+ scope: "global" | "view";
552
+ closeable: boolean;
553
+ enableSelectSubject: boolean;
554
+ enableChangeScope: boolean;
555
+ xyflow: XYFLowInstance | null;
556
+ xystore: XYStoreApi | null;
557
+ layouted: LayoutRelationshipsViewResult | null;
558
+ navigateFromNode: string | null;
559
+ xynodes: RelationshipsBrowserTypes.Node[];
560
+ xyedges: RelationshipsBrowserTypes.Edge[];
561
+ }>, {
562
+ type: "change.scope";
563
+ scope: "global" | "view";
564
+ }, Events, undefined, {
565
+ src: "layouter";
566
+ logic: PromiseActorLogic<{
567
+ xyedges: RelationshipsBrowserTypes.Edge[];
568
+ xynodes: RelationshipsBrowserTypes.Node[];
569
+ }, {
570
+ subjectId: Fqn;
571
+ navigateFromNode: string | null;
572
+ xyflow: XYFLowInstance;
573
+ xystore: XYStoreApi;
574
+ update: LayoutRelationshipsViewResult;
575
+ }, EventObject>;
576
+ id: "layouter";
577
+ }, never, never, never, never>;
578
+ };
579
+ readonly 'xyflow.updateNodeInternals': {
580
+ readonly actions: "xyflow:updateNodeInternals";
581
+ };
582
+ readonly fitDiagram: {
583
+ readonly actions: {
584
+ readonly type: "xyflow:fitDiagram";
585
+ readonly params: (data: {
586
+ context: Readonly<{
587
+ subject: Fqn;
588
+ viewId: ViewId | null;
589
+ scope: "global" | "view";
590
+ closeable: boolean;
591
+ enableSelectSubject: boolean;
592
+ enableChangeScope: boolean;
593
+ xyflow: XYFLowInstance | null;
594
+ xystore: XYStoreApi | null;
595
+ layouted: LayoutRelationshipsViewResult | null;
596
+ navigateFromNode: string | null;
597
+ xynodes: RelationshipsBrowserTypes.Node[];
598
+ xyedges: {
599
+ id: string;
600
+ source: string;
601
+ target: string;
602
+ sourceHandle?: string | null;
603
+ targetHandle?: string | null;
604
+ animated?: boolean;
605
+ hidden?: boolean;
606
+ deletable?: boolean;
607
+ selectable?: boolean;
608
+ selected?: boolean;
609
+ markerStart?: EdgeMarkerType;
610
+ markerEnd?: EdgeMarkerType;
611
+ zIndex?: number;
612
+ ariaLabel?: string;
613
+ interactionWidth?: number;
614
+ label?: ReactNode;
615
+ labelStyle?: CSSProperties;
616
+ labelShowBg?: boolean;
617
+ labelBgStyle?: CSSProperties;
618
+ labelBgPadding?: [number, number];
619
+ labelBgBorderRadius?: number;
620
+ style?: CSSProperties;
621
+ className?: string;
622
+ reconnectable?: boolean | HandleType;
623
+ focusable?: boolean;
624
+ type: "relationship";
625
+ data: {
626
+ relations: NonEmptyArray<RelationId>;
627
+ color: Color | undefined;
628
+ label: string | null;
629
+ navigateTo: ViewId | null;
630
+ line: RelationshipLineType;
631
+ existsInCurrentView: boolean;
632
+ hovered?: boolean;
633
+ active?: boolean;
634
+ dimmed?: Base.Dimmed;
635
+ };
636
+ }[];
637
+ }>;
638
+ event: {
639
+ type: "fitDiagram";
640
+ duration?: number;
641
+ bounds?: BBox;
642
+ };
643
+ }) => {
644
+ type: "fitDiagram";
645
+ duration?: number;
646
+ bounds?: BBox;
647
+ };
648
+ };
649
+ };
650
+ readonly 'xyflow.resized': {
651
+ readonly actions: readonly [ CancelAction<Readonly<{
652
+ subject: Fqn;
653
+ viewId: ViewId | null;
654
+ scope: "global" | "view";
655
+ closeable: boolean;
656
+ enableSelectSubject: boolean;
657
+ enableChangeScope: boolean;
658
+ xyflow: XYFLowInstance | null;
659
+ xystore: XYStoreApi | null;
660
+ layouted: LayoutRelationshipsViewResult | null;
661
+ navigateFromNode: string | null;
662
+ xynodes: RelationshipsBrowserTypes.Node[];
663
+ xyedges: RelationshipsBrowserTypes.Edge[];
664
+ }>, {
665
+ type: "xyflow.resized";
666
+ }, undefined, Events>, ActionFunction<Readonly<{
667
+ subject: Fqn;
668
+ viewId: ViewId | null;
669
+ scope: "global" | "view";
670
+ closeable: boolean;
671
+ enableSelectSubject: boolean;
672
+ enableChangeScope: boolean;
673
+ xyflow: XYFLowInstance | null;
674
+ xystore: XYStoreApi | null;
675
+ layouted: LayoutRelationshipsViewResult | null;
676
+ navigateFromNode: string | null;
677
+ xynodes: RelationshipsBrowserTypes.Node[];
678
+ xyedges: RelationshipsBrowserTypes.Edge[];
679
+ }>, {
680
+ type: "xyflow.resized";
681
+ }, Events, undefined, never, never, never, never, never>];
682
+ };
683
+ readonly 'xyflow.init': {
684
+ readonly actions: "xyflow.init";
685
+ };
686
+ readonly 'xyflow.unmount': {
687
+ readonly target: "initializing";
688
+ };
689
+ readonly close: "closed";
690
+ };
449
691
  readonly states: {
450
692
  readonly idle: {
451
693
  readonly on: {
452
694
  readonly 'xyflow.edgeMouseEnter': {
453
- readonly actions: readonly [ ActionFunction<Readonly<Input & {
695
+ readonly actions: readonly [ ActionFunction<Readonly<{
696
+ subject: Fqn;
697
+ viewId: ViewId | null;
698
+ scope: "global" | "view";
454
699
  closeable: boolean;
455
- enableNavigationMenu: boolean;
700
+ enableSelectSubject: boolean;
701
+ enableChangeScope: boolean;
456
702
  xyflow: XYFLowInstance | null;
457
703
  xystore: XYStoreApi | null;
458
704
  layouted: LayoutRelationshipsViewResult | null;
@@ -475,9 +721,13 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
475
721
  update: LayoutRelationshipsViewResult;
476
722
  }, EventObject>;
477
723
  id: "layouter";
478
- }, never, never, never, never>, CancelAction<Readonly<Input & {
724
+ }, never, never, never, never>, CancelAction<Readonly<{
725
+ subject: Fqn;
726
+ viewId: ViewId | null;
727
+ scope: "global" | "view";
479
728
  closeable: boolean;
480
- enableNavigationMenu: boolean;
729
+ enableSelectSubject: boolean;
730
+ enableChangeScope: boolean;
481
731
  xyflow: XYFLowInstance | null;
482
732
  xystore: XYStoreApi | null;
483
733
  layouted: LayoutRelationshipsViewResult | null;
@@ -487,9 +737,13 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
487
737
  }>, {
488
738
  type: "xyflow.edgeMouseEnter";
489
739
  edge: RelationshipsBrowserTypes.Edge;
490
- }, undefined, Events>, CancelAction<Readonly<Input & {
740
+ }, undefined, Events>, CancelAction<Readonly<{
741
+ subject: Fqn;
742
+ viewId: ViewId | null;
743
+ scope: "global" | "view";
491
744
  closeable: boolean;
492
- enableNavigationMenu: boolean;
745
+ enableSelectSubject: boolean;
746
+ enableChangeScope: boolean;
493
747
  xyflow: XYFLowInstance | null;
494
748
  xystore: XYStoreApi | null;
495
749
  layouted: LayoutRelationshipsViewResult | null;
@@ -499,9 +753,13 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
499
753
  }>, {
500
754
  type: "xyflow.edgeMouseEnter";
501
755
  edge: RelationshipsBrowserTypes.Edge;
502
- }, undefined, Events>, ActionFunction<Readonly<Input & {
756
+ }, undefined, Events>, ActionFunction<Readonly<{
757
+ subject: Fqn;
758
+ viewId: ViewId | null;
759
+ scope: "global" | "view";
503
760
  closeable: boolean;
504
- enableNavigationMenu: boolean;
761
+ enableSelectSubject: boolean;
762
+ enableChangeScope: boolean;
505
763
  xyflow: XYFLowInstance | null;
506
764
  xystore: XYStoreApi | null;
507
765
  layouted: LayoutRelationshipsViewResult | null;
@@ -514,9 +772,13 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
514
772
  }, Events, undefined, never, never, never, never, never>];
515
773
  };
516
774
  readonly 'xyflow.edgeMouseLeave': {
517
- readonly actions: readonly [ ActionFunction<Readonly<Input & {
775
+ readonly actions: readonly [ ActionFunction<Readonly<{
776
+ subject: Fqn;
777
+ viewId: ViewId | null;
778
+ scope: "global" | "view";
518
779
  closeable: boolean;
519
- enableNavigationMenu: boolean;
780
+ enableSelectSubject: boolean;
781
+ enableChangeScope: boolean;
520
782
  xyflow: XYFLowInstance | null;
521
783
  xystore: XYStoreApi | null;
522
784
  layouted: LayoutRelationshipsViewResult | null;
@@ -539,9 +801,13 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
539
801
  update: LayoutRelationshipsViewResult;
540
802
  }, EventObject>;
541
803
  id: "layouter";
542
- }, never, never, never, never>, CancelAction<Readonly<Input & {
804
+ }, never, never, never, never>, CancelAction<Readonly<{
805
+ subject: Fqn;
806
+ viewId: ViewId | null;
807
+ scope: "global" | "view";
543
808
  closeable: boolean;
544
- enableNavigationMenu: boolean;
809
+ enableSelectSubject: boolean;
810
+ enableChangeScope: boolean;
545
811
  xyflow: XYFLowInstance | null;
546
812
  xystore: XYStoreApi | null;
547
813
  layouted: LayoutRelationshipsViewResult | null;
@@ -551,9 +817,13 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
551
817
  }>, {
552
818
  type: "xyflow.edgeMouseLeave";
553
819
  edge: RelationshipsBrowserTypes.Edge;
554
- }, undefined, Events>, ActionFunction<Readonly<Input & {
820
+ }, undefined, Events>, ActionFunction<Readonly<{
821
+ subject: Fqn;
822
+ viewId: ViewId | null;
823
+ scope: "global" | "view";
555
824
  closeable: boolean;
556
- enableNavigationMenu: boolean;
825
+ enableSelectSubject: boolean;
826
+ enableChangeScope: boolean;
557
827
  xyflow: XYFLowInstance | null;
558
828
  xystore: XYStoreApi | null;
559
829
  layouted: LayoutRelationshipsViewResult | null;
@@ -566,9 +836,13 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
566
836
  }, Events, undefined, never, never, never, never, never>];
567
837
  };
568
838
  readonly 'dim.nonhovered.edges': {
569
- readonly actions: ActionFunction<Readonly<Input & {
839
+ readonly actions: ActionFunction<Readonly<{
840
+ subject: Fqn;
841
+ viewId: ViewId | null;
842
+ scope: "global" | "view";
570
843
  closeable: boolean;
571
- enableNavigationMenu: boolean;
844
+ enableSelectSubject: boolean;
845
+ enableChangeScope: boolean;
572
846
  xyflow: XYFLowInstance | null;
573
847
  xystore: XYStoreApi | null;
574
848
  layouted: LayoutRelationshipsViewResult | null;
@@ -593,9 +867,13 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
593
867
  }, never, never, never, never>;
594
868
  };
595
869
  readonly 'undim.edges': {
596
- readonly actions: ActionFunction<Readonly<Input & {
870
+ readonly actions: ActionFunction<Readonly<{
871
+ subject: Fqn;
872
+ viewId: ViewId | null;
873
+ scope: "global" | "view";
597
874
  closeable: boolean;
598
- enableNavigationMenu: boolean;
875
+ enableSelectSubject: boolean;
876
+ enableChangeScope: boolean;
599
877
  xyflow: XYFLowInstance | null;
600
878
  xystore: XYStoreApi | null;
601
879
  layouted: LayoutRelationshipsViewResult | null;
@@ -620,9 +898,13 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
620
898
  }, never, never, never, never>;
621
899
  };
622
900
  readonly 'xyflow.selectionChange': {
623
- readonly actions: ActionFunction<Readonly<Input & {
901
+ readonly actions: ActionFunction<Readonly<{
902
+ subject: Fqn;
903
+ viewId: ViewId | null;
904
+ scope: "global" | "view";
624
905
  closeable: boolean;
625
- enableNavigationMenu: boolean;
906
+ enableSelectSubject: boolean;
907
+ enableChangeScope: boolean;
626
908
  xyflow: XYFLowInstance | null;
627
909
  xystore: XYStoreApi | null;
628
910
  layouted: LayoutRelationshipsViewResult | null;
@@ -651,6 +933,14 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
651
933
  type: "xyflow.init";
652
934
  params: NonReducibleUnknown;
653
935
  };
936
+ "xyflow.applyNodeChanges": {
937
+ type: "xyflow.applyNodeChanges";
938
+ params: NonReducibleUnknown;
939
+ };
940
+ "xyflow.applyEdgeChanges": {
941
+ type: "xyflow.applyEdgeChanges";
942
+ params: NonReducibleUnknown;
943
+ };
654
944
  "update.view": {
655
945
  type: "update.view";
656
946
  params: NonReducibleUnknown;
@@ -666,10 +956,16 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
666
956
  bounds?: BBox;
667
957
  } | undefined;
668
958
  };
669
- }>, {
670
- type: "isReady";
671
- params: unknown;
672
- }, never, EventObject>;
959
+ }>, Values<{
960
+ isReady: {
961
+ type: "isReady";
962
+ params: unknown;
963
+ };
964
+ anotherSubject: {
965
+ type: "anotherSubject";
966
+ params: unknown;
967
+ };
968
+ }>, never, EventObject>;
673
969
  };
674
970
  };
675
971
  };
@@ -678,9 +974,13 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
678
974
  readonly id: "layouter";
679
975
  readonly src: "layouter";
680
976
  readonly input: ({ context }: {
681
- context: Readonly<Input & {
977
+ context: Readonly<{
978
+ subject: Fqn;
979
+ viewId: ViewId | null;
980
+ scope: "global" | "view";
682
981
  closeable: boolean;
683
- enableNavigationMenu: boolean;
982
+ enableSelectSubject: boolean;
983
+ enableChangeScope: boolean;
684
984
  xyflow: XYFLowInstance | null;
685
985
  xystore: XYStoreApi | null;
686
986
  layouted: LayoutRelationshipsViewResult | null;
@@ -689,9 +989,13 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
689
989
  xyedges: RelationshipsBrowserTypes.Edge[];
690
990
  }>;
691
991
  event: Events;
692
- self: ActorRef<MachineSnapshot<Readonly<Input & {
992
+ self: ActorRef<MachineSnapshot<Readonly<{
993
+ subject: Fqn;
994
+ viewId: ViewId | null;
995
+ scope: "global" | "view";
693
996
  closeable: boolean;
694
- enableNavigationMenu: boolean;
997
+ enableSelectSubject: boolean;
998
+ enableChangeScope: boolean;
695
999
  xyflow: XYFLowInstance | null;
696
1000
  xystore: XYStoreApi | null;
697
1001
  layouted: LayoutRelationshipsViewResult | null;
@@ -728,13 +1032,14 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
728
1032
  className?: string;
729
1033
  reconnectable?: boolean | HandleType;
730
1034
  focusable?: boolean;
731
- type: "relationships";
1035
+ type: "relationship";
732
1036
  data: {
733
1037
  relations: NonEmptyArray<RelationId>;
734
1038
  color: Color | undefined;
735
1039
  label: string | null;
736
1040
  navigateTo: ViewId | null;
737
1041
  line: RelationshipLineType;
1042
+ existsInCurrentView: boolean;
738
1043
  hovered?: boolean;
739
1044
  active?: boolean;
740
1045
  dimmed?: Base.Dimmed;
@@ -769,13 +1074,14 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
769
1074
  className?: string;
770
1075
  reconnectable?: boolean | HandleType;
771
1076
  focusable?: boolean;
772
- type: "relationships";
1077
+ type: "relationship";
773
1078
  data: {
774
1079
  relations: NonEmptyArray<RelationId>;
775
1080
  color: Color | undefined;
776
1081
  label: string | null;
777
1082
  navigateTo: ViewId | null;
778
1083
  line: RelationshipLineType;
1084
+ existsInCurrentView: boolean;
779
1085
  hovered?: boolean;
780
1086
  active?: boolean;
781
1087
  dimmed?: Base.Dimmed;
@@ -807,13 +1113,14 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
807
1113
  className?: string;
808
1114
  reconnectable?: boolean | HandleType;
809
1115
  focusable?: boolean;
810
- type: "relationships";
1116
+ type: "relationship";
811
1117
  data: {
812
1118
  relations: NonEmptyArray<RelationId>;
813
1119
  color: Color | undefined;
814
1120
  label: string | null;
815
1121
  navigateTo: ViewId | null;
816
1122
  line: RelationshipLineType;
1123
+ existsInCurrentView: boolean;
817
1124
  hovered?: boolean;
818
1125
  active?: boolean;
819
1126
  dimmed?: Base.Dimmed;
@@ -844,13 +1151,14 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
844
1151
  className?: string;
845
1152
  reconnectable?: boolean | HandleType;
846
1153
  focusable?: boolean;
847
- type: "relationships";
1154
+ type: "relationship";
848
1155
  data: {
849
1156
  relations: NonEmptyArray<RelationId>;
850
1157
  color: Color | undefined;
851
1158
  label: string | null;
852
1159
  navigateTo: ViewId | null;
853
1160
  line: RelationshipLineType;
1161
+ existsInCurrentView: boolean;
854
1162
  hovered?: boolean;
855
1163
  active?: boolean;
856
1164
  dimmed?: Base.Dimmed;
@@ -881,13 +1189,14 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
881
1189
  className?: string;
882
1190
  reconnectable?: boolean | HandleType;
883
1191
  focusable?: boolean;
884
- type: "relationships";
1192
+ type: "relationship";
885
1193
  data: {
886
1194
  relations: NonEmptyArray<RelationId>;
887
1195
  color: Color | undefined;
888
1196
  label: string | null;
889
1197
  navigateTo: ViewId | null;
890
1198
  line: RelationshipLineType;
1199
+ existsInCurrentView: boolean;
891
1200
  hovered?: boolean;
892
1201
  active?: boolean;
893
1202
  dimmed?: Base.Dimmed;
@@ -918,13 +1227,14 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
918
1227
  className?: string;
919
1228
  reconnectable?: boolean | HandleType;
920
1229
  focusable?: boolean;
921
- type: "relationships";
1230
+ type: "relationship";
922
1231
  data: {
923
1232
  relations: NonEmptyArray<RelationId>;
924
1233
  color: Color | undefined;
925
1234
  label: string | null;
926
1235
  navigateTo: ViewId | null;
927
1236
  line: RelationshipLineType;
1237
+ existsInCurrentView: boolean;
928
1238
  hovered?: boolean;
929
1239
  active?: boolean;
930
1240
  dimmed?: Base.Dimmed;
@@ -955,13 +1265,14 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
955
1265
  className?: string;
956
1266
  reconnectable?: boolean | HandleType;
957
1267
  focusable?: boolean;
958
- type: "relationships";
1268
+ type: "relationship";
959
1269
  data: {
960
1270
  relations: NonEmptyArray<RelationId>;
961
1271
  color: Color | undefined;
962
1272
  label: string | null;
963
1273
  navigateTo: ViewId | null;
964
1274
  line: RelationshipLineType;
1275
+ existsInCurrentView: boolean;
965
1276
  hovered?: boolean;
966
1277
  active?: boolean;
967
1278
  dimmed?: Base.Dimmed;
@@ -993,13 +1304,14 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
993
1304
  className?: string;
994
1305
  reconnectable?: boolean | HandleType;
995
1306
  focusable?: boolean;
996
- type: "relationships";
1307
+ type: "relationship";
997
1308
  data: {
998
1309
  relations: NonEmptyArray<RelationId>;
999
1310
  color: Color | undefined;
1000
1311
  label: string | null;
1001
1312
  navigateTo: ViewId | null;
1002
1313
  line: RelationshipLineType;
1314
+ existsInCurrentView: boolean;
1003
1315
  hovered?: boolean;
1004
1316
  active?: boolean;
1005
1317
  dimmed?: Base.Dimmed;
@@ -1030,13 +1342,14 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
1030
1342
  className?: string;
1031
1343
  reconnectable?: boolean | HandleType;
1032
1344
  focusable?: boolean;
1033
- type: "relationships";
1345
+ type: "relationship";
1034
1346
  data: {
1035
1347
  relations: NonEmptyArray<RelationId>;
1036
1348
  color: Color | undefined;
1037
1349
  label: string | null;
1038
1350
  navigateTo: ViewId | null;
1039
1351
  line: RelationshipLineType;
1352
+ existsInCurrentView: boolean;
1040
1353
  hovered?: boolean;
1041
1354
  active?: boolean;
1042
1355
  dimmed?: Base.Dimmed;
@@ -1047,9 +1360,13 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
1047
1360
  };
1048
1361
  readonly onDone: {
1049
1362
  readonly target: "idle";
1050
- readonly actions: ActionFunction<Readonly<Input & {
1363
+ readonly actions: ActionFunction<Readonly<{
1364
+ subject: Fqn;
1365
+ viewId: ViewId | null;
1366
+ scope: "global" | "view";
1051
1367
  closeable: boolean;
1052
- enableNavigationMenu: boolean;
1368
+ enableSelectSubject: boolean;
1369
+ enableChangeScope: boolean;
1053
1370
  xyflow: XYFLowInstance | null;
1054
1371
  xystore: XYStoreApi | null;
1055
1372
  layouted: LayoutRelationshipsViewResult | null;
@@ -1077,6 +1394,14 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
1077
1394
  type: "xyflow.init";
1078
1395
  params: NonReducibleUnknown;
1079
1396
  };
1397
+ "xyflow.applyNodeChanges": {
1398
+ type: "xyflow.applyNodeChanges";
1399
+ params: NonReducibleUnknown;
1400
+ };
1401
+ "xyflow.applyEdgeChanges": {
1402
+ type: "xyflow.applyEdgeChanges";
1403
+ params: NonReducibleUnknown;
1404
+ };
1080
1405
  "update.view": {
1081
1406
  type: "update.view";
1082
1407
  params: NonReducibleUnknown;
@@ -1092,17 +1417,27 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
1092
1417
  bounds?: BBox;
1093
1418
  } | undefined;
1094
1419
  };
1095
- }>, {
1096
- type: "isReady";
1097
- params: unknown;
1098
- }, never, EventObject>;
1420
+ }>, Values<{
1421
+ isReady: {
1422
+ type: "isReady";
1423
+ params: unknown;
1424
+ };
1425
+ anotherSubject: {
1426
+ type: "anotherSubject";
1427
+ params: unknown;
1428
+ };
1429
+ }>, never, EventObject>;
1099
1430
  };
1100
1431
  };
1101
1432
  readonly on: {
1102
1433
  readonly 'update.xydata': {
1103
- readonly actions: ActionFunction<Readonly<Input & {
1434
+ readonly actions: ActionFunction<Readonly<{
1435
+ subject: Fqn;
1436
+ viewId: ViewId | null;
1437
+ scope: "global" | "view";
1104
1438
  closeable: boolean;
1105
- enableNavigationMenu: boolean;
1439
+ enableSelectSubject: boolean;
1440
+ enableChangeScope: boolean;
1106
1441
  xyflow: XYFLowInstance | null;
1107
1442
  xystore: XYStoreApi | null;
1108
1443
  layouted: LayoutRelationshipsViewResult | null;
@@ -1133,227 +1468,19 @@ export declare const relationshipsBrowserLogic: StateMachine<Readonly<Input & {
1133
1468
  };
1134
1469
  };
1135
1470
  };
1136
- readonly on: {
1137
- readonly 'xyflow.nodeClick': {
1138
- readonly actions: ActionFunction<Readonly<Input & {
1139
- closeable: boolean;
1140
- enableNavigationMenu: boolean;
1141
- xyflow: XYFLowInstance | null;
1142
- xystore: XYStoreApi | null;
1143
- layouted: LayoutRelationshipsViewResult | null;
1144
- navigateFromNode: string | null;
1145
- xynodes: RelationshipsBrowserTypes.Node[];
1146
- xyedges: RelationshipsBrowserTypes.Edge[];
1147
- }>, {
1148
- type: "xyflow.nodeClick";
1149
- node: RelationshipsBrowserTypes.Node;
1150
- }, Events, undefined, {
1151
- src: "layouter";
1152
- logic: PromiseActorLogic<{
1153
- xyedges: RelationshipsBrowserTypes.Edge[];
1154
- xynodes: RelationshipsBrowserTypes.Node[];
1155
- }, {
1156
- subjectId: Fqn;
1157
- navigateFromNode: string | null;
1158
- xyflow: XYFLowInstance;
1159
- xystore: XYStoreApi;
1160
- update: LayoutRelationshipsViewResult;
1161
- }, EventObject>;
1162
- id: "layouter";
1163
- }, Values<{
1164
- "xyflow.init": {
1165
- type: "xyflow.init";
1166
- params: NonReducibleUnknown;
1167
- };
1168
- "update.view": {
1169
- type: "update.view";
1170
- params: NonReducibleUnknown;
1171
- };
1172
- "xyflow:updateNodeInternals": {
1173
- type: "xyflow:updateNodeInternals";
1174
- params: unknown;
1175
- };
1176
- "xyflow:fitDiagram": {
1177
- type: "xyflow:fitDiagram";
1178
- params: {
1179
- duration?: number;
1180
- bounds?: BBox;
1181
- } | undefined;
1182
- };
1183
- }>, {
1184
- type: "isReady";
1185
- params: unknown;
1186
- }, never, EventObject>;
1187
- };
1188
- readonly 'navigate.to': {
1189
- readonly actions: readonly [ ActionFunction<Readonly<Input & {
1190
- closeable: boolean;
1191
- enableNavigationMenu: boolean;
1192
- xyflow: XYFLowInstance | null;
1193
- xystore: XYStoreApi | null;
1194
- layouted: LayoutRelationshipsViewResult | null;
1195
- navigateFromNode: string | null;
1196
- xynodes: RelationshipsBrowserTypes.Node[];
1197
- xyedges: RelationshipsBrowserTypes.Edge[];
1198
- }>, {
1199
- type: "navigate.to";
1200
- subject: Fqn;
1201
- fromNode?: string | undefined;
1202
- }, Events, undefined, {
1203
- src: "layouter";
1204
- logic: PromiseActorLogic<{
1205
- xyedges: RelationshipsBrowserTypes.Edge[];
1206
- xynodes: RelationshipsBrowserTypes.Node[];
1207
- }, {
1208
- subjectId: Fqn;
1209
- navigateFromNode: string | null;
1210
- xyflow: XYFLowInstance;
1211
- xystore: XYStoreApi;
1212
- update: LayoutRelationshipsViewResult;
1213
- }, EventObject>;
1214
- id: "layouter";
1215
- }, never, never, never, never>];
1216
- };
1217
- readonly 'xyflow.paneDblClick': {
1218
- readonly actions: "xyflow:fitDiagram";
1219
- };
1220
- readonly 'update.view': {
1221
- readonly actions: ActionFunction<Readonly<Input & {
1222
- closeable: boolean;
1223
- enableNavigationMenu: boolean;
1224
- xyflow: XYFLowInstance | null;
1225
- xystore: XYStoreApi | null;
1226
- layouted: LayoutRelationshipsViewResult | null;
1227
- navigateFromNode: string | null;
1228
- xynodes: RelationshipsBrowserTypes.Node[];
1229
- xyedges: RelationshipsBrowserTypes.Edge[];
1230
- }>, {
1231
- type: "update.view";
1232
- layouted: LayoutRelationshipsViewResult;
1233
- }, Events, undefined, {
1234
- src: "layouter";
1235
- logic: PromiseActorLogic<{
1236
- xyedges: RelationshipsBrowserTypes.Edge[];
1237
- xynodes: RelationshipsBrowserTypes.Node[];
1238
- }, {
1239
- subjectId: Fqn;
1240
- navigateFromNode: string | null;
1241
- xyflow: XYFLowInstance;
1242
- xystore: XYStoreApi;
1243
- update: LayoutRelationshipsViewResult;
1244
- }, EventObject>;
1245
- id: "layouter";
1246
- }, never, never, never, never>;
1247
- readonly target: ".layouting";
1248
- };
1249
- readonly 'xyflow.updateNodeInternals': {
1250
- readonly actions: "xyflow:updateNodeInternals";
1251
- };
1252
- readonly fitDiagram: {
1253
- readonly actions: {
1254
- readonly type: "xyflow:fitDiagram";
1255
- readonly params: (data: {
1256
- context: Readonly<Input & {
1257
- closeable: boolean;
1258
- enableNavigationMenu: boolean;
1259
- xyflow: XYFLowInstance | null;
1260
- xystore: XYStoreApi | null;
1261
- layouted: LayoutRelationshipsViewResult | null;
1262
- navigateFromNode: string | null;
1263
- xynodes: RelationshipsBrowserTypes.Node[];
1264
- xyedges: {
1265
- id: string;
1266
- source: string;
1267
- target: string;
1268
- sourceHandle?: string | null;
1269
- targetHandle?: string | null;
1270
- animated?: boolean;
1271
- hidden?: boolean;
1272
- deletable?: boolean;
1273
- selectable?: boolean;
1274
- selected?: boolean;
1275
- markerStart?: EdgeMarkerType;
1276
- markerEnd?: EdgeMarkerType;
1277
- zIndex?: number;
1278
- ariaLabel?: string;
1279
- interactionWidth?: number;
1280
- label?: ReactNode;
1281
- labelStyle?: CSSProperties;
1282
- labelShowBg?: boolean;
1283
- labelBgStyle?: CSSProperties;
1284
- labelBgPadding?: [number, number];
1285
- labelBgBorderRadius?: number;
1286
- style?: CSSProperties;
1287
- className?: string;
1288
- reconnectable?: boolean | HandleType;
1289
- focusable?: boolean;
1290
- type: "relationships";
1291
- data: {
1292
- relations: NonEmptyArray<RelationId>;
1293
- color: Color | undefined;
1294
- label: string | null;
1295
- navigateTo: ViewId | null;
1296
- line: RelationshipLineType;
1297
- hovered?: boolean;
1298
- active?: boolean;
1299
- dimmed?: Base.Dimmed;
1300
- };
1301
- }[];
1302
- }>;
1303
- event: {
1304
- type: "fitDiagram";
1305
- duration?: number;
1306
- bounds?: BBox;
1307
- };
1308
- }) => {
1309
- type: "fitDiagram";
1310
- duration?: number;
1311
- bounds?: BBox;
1312
- };
1313
- };
1314
- };
1315
- readonly 'xyflow.resized': {
1316
- readonly actions: readonly [ CancelAction<Readonly<Input & {
1317
- closeable: boolean;
1318
- enableNavigationMenu: boolean;
1319
- xyflow: XYFLowInstance | null;
1320
- xystore: XYStoreApi | null;
1321
- layouted: LayoutRelationshipsViewResult | null;
1322
- navigateFromNode: string | null;
1323
- xynodes: RelationshipsBrowserTypes.Node[];
1324
- xyedges: RelationshipsBrowserTypes.Edge[];
1325
- }>, {
1326
- type: "xyflow.resized";
1327
- }, undefined, Events>, ActionFunction<Readonly<Input & {
1328
- closeable: boolean;
1329
- enableNavigationMenu: boolean;
1330
- xyflow: XYFLowInstance | null;
1331
- xystore: XYStoreApi | null;
1332
- layouted: LayoutRelationshipsViewResult | null;
1333
- navigateFromNode: string | null;
1334
- xynodes: RelationshipsBrowserTypes.Node[];
1335
- xyedges: RelationshipsBrowserTypes.Edge[];
1336
- }>, {
1337
- type: "xyflow.resized";
1338
- }, Events, undefined, never, never, never, never, never>];
1339
- };
1340
- readonly 'xyflow.init': {
1341
- readonly actions: "xyflow.init";
1342
- };
1343
- readonly 'xyflow.unmount': {
1344
- readonly target: "initializing";
1345
- };
1346
- readonly close: "closed";
1347
- };
1348
1471
  };
1349
1472
  readonly closed: {
1350
1473
  readonly id: "closed";
1351
1474
  readonly type: "final";
1352
1475
  };
1353
1476
  };
1354
- readonly exit: ActionFunction<Readonly<Input & {
1477
+ readonly exit: ActionFunction<Readonly<{
1478
+ subject: Fqn;
1479
+ viewId: ViewId | null;
1480
+ scope: "global" | "view";
1355
1481
  closeable: boolean;
1356
- enableNavigationMenu: boolean;
1482
+ enableSelectSubject: boolean;
1483
+ enableChangeScope: boolean;
1357
1484
  xyflow: XYFLowInstance | null;
1358
1485
  xystore: XYStoreApi | null;
1359
1486
  layouted: LayoutRelationshipsViewResult | null;