@likec4/diagram 1.45.0 → 1.46.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 (202) hide show
  1. package/bundle/index.js +2134 -1652
  2. package/dist/LikeC4Diagram.d.ts +1 -1
  3. package/dist/LikeC4Diagram.js +8 -7
  4. package/dist/LikeC4Diagram.props.d.ts +4 -12
  5. package/dist/LikeC4ProjectsProvider.js +8 -4
  6. package/dist/LikeC4View.js +1 -5
  7. package/dist/ReactLikeC4.d.ts +1 -4
  8. package/dist/StaticLikeC4Diagram.js +0 -2
  9. package/dist/base-primitives/NodeHandles.d.ts +2 -1
  10. package/dist/base-primitives/NodeHandles.js +22 -18
  11. package/dist/base-primitives/compound/CompoundActionButton.js +1 -1
  12. package/dist/base-primitives/compound/CompoundDetailsButton.js +1 -1
  13. package/dist/base-primitives/edge/EdgeActionButton.js +1 -1
  14. package/dist/base-primitives/edge/EdgeContainer.d.ts +1 -1
  15. package/dist/base-primitives/edge/EdgeContainer.js +2 -3
  16. package/dist/base-primitives/edge/EdgeLabel.js +16 -16
  17. package/dist/base-primitives/edge/EdgeLabelContainer.d.ts +1 -1
  18. package/dist/base-primitives/edge/EdgeLabelContainer.js +5 -4
  19. package/dist/base-primitives/edge/EdgePath.js +13 -18
  20. package/dist/base-primitives/element/ElementActionButtons.js +1 -1
  21. package/dist/base-primitives/element/ElementDetailsButton.js +1 -1
  22. package/dist/components/ErrorFallback.js +1 -1
  23. package/dist/components/Link.js +2 -2
  24. package/dist/context/DiagramEventHandlers.js +0 -1
  25. package/dist/context/DiagramFeatures.d.ts +1 -1
  26. package/dist/context/DiagramFeatures.js +1 -0
  27. package/dist/context/EnsureMantine.js +2 -1
  28. package/dist/context/IconRenderer.js +6 -6
  29. package/dist/editor/LikeC4EditorProvider.d.ts +22 -0
  30. package/dist/editor/LikeC4EditorProvider.js +12 -0
  31. package/dist/editor/__tests__/fixture.d.ts +205 -0
  32. package/dist/editor/applyChangesToManualLayout.d.ts +8 -0
  33. package/dist/editor/applyChangesToManualLayout.js +182 -0
  34. package/dist/editor/editorActor.actions.d.ts +201 -0
  35. package/dist/editor/editorActor.actions.js +149 -0
  36. package/dist/editor/editorActor.d.ts +653 -0
  37. package/dist/editor/editorActor.js +324 -0
  38. package/dist/editor/hotkeyActor.d.ts +7 -0
  39. package/dist/editor/hotkeyActor.js +19 -0
  40. package/dist/editor/index.d.ts +3 -2
  41. package/dist/editor/useEditorActorLogic.d.ts +565 -0
  42. package/dist/editor/useEditorActorLogic.js +54 -0
  43. package/dist/hooks/safeContext.d.ts +3 -2
  44. package/dist/hooks/safeContext.js +7 -4
  45. package/dist/hooks/useDiagram.d.ts +4 -2
  46. package/dist/hooks/useDiagram.js +19 -8
  47. package/dist/hooks/useDiagramCompareLayout.d.ts +8 -0
  48. package/dist/hooks/useDiagramCompareLayout.js +22 -2
  49. package/dist/index.d.ts +1 -0
  50. package/dist/index.js +1 -0
  51. package/dist/likec4diagram/DiagramXYFlow.js +1 -2
  52. package/dist/likec4diagram/custom/edges/EdgeDrifts.js +1 -5
  53. package/dist/likec4diagram/custom/edges/RelationshipEdge.js +74 -48
  54. package/dist/likec4diagram/custom/edges/edges.css.d.ts +0 -1
  55. package/dist/likec4diagram/custom/edges/edges.css.js +30 -24
  56. package/dist/likec4diagram/custom/edges/useControlPoints.js +2 -2
  57. package/dist/likec4diagram/custom/nodes/ElementActions.js +2 -2
  58. package/dist/likec4diagram/custom/nodes/NodeDrifts.js +4 -9
  59. package/dist/likec4diagram/custom/nodes/nodes.js +3 -6
  60. package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.js +2 -2
  61. package/dist/likec4diagram/custom/nodes/toolbar/_shared.js +2 -2
  62. package/dist/likec4diagram/relationship-popover/RelationshipPopover.js +127 -14
  63. package/dist/likec4diagram/state/DiagramActorProvider.js +63 -71
  64. package/dist/likec4diagram/state/assign.d.ts +4 -1
  65. package/dist/likec4diagram/state/assign.js +11 -8
  66. package/dist/likec4diagram/state/createViewChange.js +13 -9
  67. package/dist/likec4diagram/state/diagram-api.d.ts +20 -2
  68. package/dist/likec4diagram/state/diagram-api.js +58 -44
  69. package/dist/likec4diagram/state/hotkeyActor.d.ts +1 -1
  70. package/dist/likec4diagram/state/hotkeyActor.js +12 -0
  71. package/dist/likec4diagram/state/machine.actions.d.ts +774 -195
  72. package/dist/likec4diagram/state/machine.actions.js +185 -74
  73. package/dist/likec4diagram/state/machine.actions.layout.d.ts +93 -31
  74. package/dist/likec4diagram/state/machine.actions.layout.js +16 -4
  75. package/dist/likec4diagram/state/machine.d.ts +5 -4
  76. package/dist/likec4diagram/state/machine.js +11 -6
  77. package/dist/likec4diagram/state/machine.setup.d.ts +20 -9
  78. package/dist/likec4diagram/state/machine.setup.js +18 -3
  79. package/dist/likec4diagram/state/machine.state.initializing.d.ts +34 -18
  80. package/dist/likec4diagram/state/machine.state.initializing.js +10 -10
  81. package/dist/likec4diagram/state/machine.state.navigating.js +28 -9
  82. package/dist/likec4diagram/state/machine.state.ready.d.ts +1368 -434
  83. package/dist/likec4diagram/state/machine.state.ready.focused.d.ts +363 -39
  84. package/dist/likec4diagram/state/machine.state.ready.focused.js +17 -4
  85. package/dist/likec4diagram/state/machine.state.ready.idle.d.ts +104 -38
  86. package/dist/likec4diagram/state/machine.state.ready.idle.js +14 -5
  87. package/dist/likec4diagram/state/machine.state.ready.js +13 -90
  88. package/dist/likec4diagram/state/machine.state.ready.printing.d.ts +18 -6
  89. package/dist/likec4diagram/state/machine.state.ready.walkthrough.d.ts +204 -31
  90. package/dist/likec4diagram/state/machine.state.ready.walkthrough.js +14 -1
  91. package/dist/likec4diagram/state/types.d.ts +6 -2
  92. package/dist/likec4diagram/state/utils.d.ts +33 -7
  93. package/dist/likec4diagram/state/utils.js +23 -7
  94. package/dist/likec4diagram/ui/notation/NotationPanel.js +3 -3
  95. package/dist/likec4diagram/useLayoutConstraints.js +5 -9
  96. package/dist/navigationpanel/NavigationPanel.js +6 -9
  97. package/dist/navigationpanel/NavigationPanelDropdown.js +7 -7
  98. package/dist/navigationpanel/_common.js +1 -1
  99. package/dist/navigationpanel/comparepanel/CompareActionsMenu.d.ts +3 -1
  100. package/dist/navigationpanel/comparepanel/CompareActionsMenu.js +40 -14
  101. package/dist/navigationpanel/comparepanel/ComparePanelControls.js +6 -4
  102. package/dist/navigationpanel/comparepanel/LayoutTypeSwitcher.js +2 -2
  103. package/dist/navigationpanel/controls/DetailsControls.js +2 -2
  104. package/dist/navigationpanel/controls/LayoutWarning.js +2 -1
  105. package/dist/navigationpanel/controls/NavigationButtons.js +2 -2
  106. package/dist/navigationpanel/controls/OpenSource.js +1 -1
  107. package/dist/navigationpanel/controls/SearchControl.js +2 -2
  108. package/dist/navigationpanel/controls/ToggleReadonly.js +25 -17
  109. package/dist/navigationpanel/dropdown/ProjectsMenu.js +1 -1
  110. package/dist/navigationpanel/editorpanel/CenterCamera.js +1 -1
  111. package/dist/navigationpanel/editorpanel/ChangeAutoLayoutButton.js +1 -1
  112. package/dist/navigationpanel/editorpanel/ManualLayoutToolsButton.js +9 -9
  113. package/dist/navigationpanel/editorpanel/ToggleReadonly.js +1 -1
  114. package/dist/navigationpanel/walkthrough/ActiveWalkthroughControls.js +3 -3
  115. package/dist/navigationpanel/walkthrough/DynamicViewControls.d.ts +66 -66
  116. package/dist/navigationpanel/walkthrough/DynamicViewControls.js +1 -1
  117. package/dist/overlays/Overlays.js +24 -12
  118. package/dist/overlays/element-details/ElementDetailsCard.js +4 -4
  119. package/dist/overlays/element-details/MetadataValue.js +4 -6
  120. package/dist/overlays/element-details/TabPanelDeployments.js +3 -3
  121. package/dist/overlays/element-details/TabPanelRelationships.js +12 -7
  122. package/dist/overlays/element-details/TabPanelStructure.js +1 -1
  123. package/dist/overlays/overlaysActor.js +6 -3
  124. package/dist/overlays/relationship-details/RelationshipDetails.js +3 -3
  125. package/dist/overlays/relationship-details/SelectEdge.js +2 -2
  126. package/dist/overlays/relationship-details/custom/ElementActions.js +3 -3
  127. package/dist/overlays/relationships-browser/RelationshipsBrowser.js +3 -3
  128. package/dist/overlays/relationships-browser/SelectElement.js +2 -2
  129. package/dist/overlays/relationships-browser/custom/ElementActions.js +3 -3
  130. package/dist/search/components/ElementsColumn.js +7 -3
  131. package/dist/search/components/PickView.js +3 -1
  132. package/dist/search/components/SearchByTags.js +1 -1
  133. package/dist/search/components/SearchInput.js +1 -1
  134. package/dist/search/components/ViewsColum.d.ts +3 -1
  135. package/dist/search/components/ViewsColum.js +13 -7
  136. package/dist/shadowroot/styles.css.js +6 -1
  137. package/dist/styles.css2.js +1 -1
  138. package/dist/utils/index.d.ts +2 -2
  139. package/dist/utils/xyflow.d.ts +2 -3
  140. package/dist/utils/xyflow.js +9 -8
  141. package/package.json +17 -17
  142. package/panda.buildinfo.json +59 -77
  143. package/styles-min.css +1 -1
  144. package/styles.css +1 -1
  145. package/dist/base-primitives/edge/edge.css.d.ts +0 -4
  146. package/dist/base-primitives/edge/edge.css.js +0 -71
  147. package/dist/editor/LikeC4EditorContext.d.ts +0 -21
  148. package/dist/likec4diagram/state/syncManualLayoutActor.d.ts +0 -46
  149. package/dist/likec4diagram/state/syncManualLayoutActor.js +0 -309
  150. package/dist/utils/vector.d.ts +0 -86
  151. package/dist/utils/vector.js +0 -127
  152. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/createReactComponent.js +0 -0
  153. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.js +0 -0
  154. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertTriangle.js +0 -0
  155. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowDownRight.js +0 -0
  156. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowLeft.js +0 -0
  157. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowRight.js +0 -0
  158. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconBolt.js +0 -0
  159. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconBrowser.js +0 -0
  160. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.js +0 -0
  161. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronDown.js +0 -0
  162. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronLeft.js +0 -0
  163. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js +0 -0
  164. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconCopy.js +0 -0
  165. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconCylinder.js +0 -0
  166. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconDeviceMobile.js +0 -0
  167. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconDirectionSignFilled.js +0 -0
  168. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconExternalLink.js +0 -0
  169. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconFileSymlink.js +0 -0
  170. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconFocusCentered.js +0 -0
  171. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconFolderFilled.js +0 -0
  172. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconHelpCircle.js +0 -0
  173. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconId.js +0 -0
  174. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconInfoCircle.js +0 -0
  175. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignBottom.js +0 -0
  176. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignCenter.js +0 -0
  177. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignLeft.js +0 -0
  178. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignMiddle.js +0 -0
  179. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignRight.js +0 -0
  180. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignTop.js +0 -0
  181. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutBoardSplit.js +0 -0
  182. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutCollage.js +0 -0
  183. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutDashboard.js +0 -0
  184. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLink.js +0 -0
  185. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLock.js +0 -0
  186. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLockOpen2.js +0 -0
  187. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerPlayFilled.js +0 -0
  188. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipBackFilled.js +0 -0
  189. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipForwardFilled.js +0 -0
  190. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerStopFilled.js +0 -0
  191. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconRectangularPrism.js +0 -0
  192. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconReorder.js +0 -0
  193. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconRouteOff.js +0 -0
  194. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.js +0 -0
  195. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconSelector.js +0 -0
  196. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconStack2.js +0 -0
  197. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconStarFilled.js +0 -0
  198. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconTarget.js +0 -0
  199. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconTransform.js +0 -0
  200. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconUser.js +0 -0
  201. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js +0 -0
  202. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js +0 -0
@@ -1,10 +1,10 @@
1
1
  import { CancelAction, StopAction, ActionFunction, Values } from 'xstate';
2
2
  import { Context, Events, EmittedEvents } from './machine.setup';
3
3
  import { HotKeyEvent, HotkeyActorLogic } from './hotkeyActor';
4
- import { SyncLayoutActorLogic } from './syncManualLayoutActor';
5
4
  import { OverlaysActorLogic } from '../../overlays/overlaysActor';
6
5
  import { SearchActorLogic } from '../../search/searchActor';
7
6
  import { MediaPrintActorLogic } from './mediaPrintActor';
7
+ import { EditorActorLogic } from '../../editor';
8
8
  export declare const walkthrough: {
9
9
  id: string;
10
10
  entry: CancelAction<Context, Events, undefined, Events>[];
@@ -16,16 +16,17 @@ export declare const walkthrough: {
16
16
  'key.arrow.left': {
17
17
  actions: ActionFunction<Context, HotKeyEvent, Events, undefined, never, never, never, never, never>;
18
18
  };
19
+ 'key.arrow.up': {
20
+ actions: ActionFunction<Context, HotKeyEvent, Events, undefined, never, never, never, never, never>;
21
+ };
19
22
  'key.arrow.right': {
20
23
  actions: ActionFunction<Context, HotKeyEvent, Events, undefined, never, never, never, never, never>;
21
24
  };
25
+ 'key.arrow.down': {
26
+ actions: ActionFunction<Context, HotKeyEvent, Events, undefined, never, never, never, never, never>;
27
+ };
22
28
  'walkthrough.step': {
23
29
  actions: ( ActionFunction<Context, Events, Events, undefined, Values<{
24
- syncManualLayoutActorLogic: {
25
- src: "syncManualLayoutActorLogic";
26
- logic: SyncLayoutActorLogic;
27
- id: "syncLayout";
28
- };
29
30
  hotkeyActorLogic: {
30
31
  src: "hotkeyActorLogic";
31
32
  logic: HotkeyActorLogic;
@@ -46,11 +47,20 @@ export declare const walkthrough: {
46
47
  logic: MediaPrintActorLogic;
47
48
  id: "mediaPrint";
48
49
  };
50
+ editorActor: {
51
+ src: "editorActor";
52
+ logic: EditorActorLogic;
53
+ id: "editor";
54
+ };
49
55
  }>, never, Values<{
50
56
  isReady: {
51
57
  type: "isReady";
52
58
  params: unknown;
53
59
  };
60
+ "enabled: Editor": {
61
+ type: "enabled: Editor";
62
+ params: unknown;
63
+ };
54
64
  "enabled: FitView": {
55
65
  type: "enabled: FitView";
56
66
  params: unknown;
@@ -83,6 +93,10 @@ export declare const walkthrough: {
83
93
  type: "enabled: DynamicViewWalkthrough";
84
94
  params: unknown;
85
95
  };
96
+ "focus.node: autoUnfocus": {
97
+ type: "focus.node: autoUnfocus";
98
+ params: unknown;
99
+ };
86
100
  "enabled: Overlays": {
87
101
  type: "enabled: Overlays";
88
102
  params: unknown;
@@ -95,6 +109,10 @@ export declare const walkthrough: {
95
109
  type: "is dynamic view";
96
110
  params: unknown;
97
111
  };
112
+ "is same view": {
113
+ type: "is same view";
114
+ params: unknown;
115
+ };
98
116
  "is another view": {
99
117
  type: "is another view";
100
118
  params: unknown;
@@ -127,11 +145,6 @@ export declare const walkthrough: {
127
145
  type: "walkthrough.step";
128
146
  direction: "next" | "previous";
129
147
  }, Events, undefined, Values<{
130
- syncManualLayoutActorLogic: {
131
- src: "syncManualLayoutActorLogic";
132
- logic: SyncLayoutActorLogic;
133
- id: "syncLayout";
134
- };
135
148
  hotkeyActorLogic: {
136
149
  src: "hotkeyActorLogic";
137
150
  logic: HotkeyActorLogic;
@@ -152,15 +165,15 @@ export declare const walkthrough: {
152
165
  logic: MediaPrintActorLogic;
153
166
  id: "mediaPrint";
154
167
  };
168
+ editorActor: {
169
+ src: "editorActor";
170
+ logic: EditorActorLogic;
171
+ id: "editor";
172
+ };
155
173
  }>, never, never, never, never>)[];
156
174
  };
157
175
  'xyflow.edgeClick': {
158
176
  actions: ( ActionFunction<Context, Events, Events, undefined, Values<{
159
- syncManualLayoutActorLogic: {
160
- src: "syncManualLayoutActorLogic";
161
- logic: SyncLayoutActorLogic;
162
- id: "syncLayout";
163
- };
164
177
  hotkeyActorLogic: {
165
178
  src: "hotkeyActorLogic";
166
179
  logic: HotkeyActorLogic;
@@ -181,11 +194,20 @@ export declare const walkthrough: {
181
194
  logic: MediaPrintActorLogic;
182
195
  id: "mediaPrint";
183
196
  };
197
+ editorActor: {
198
+ src: "editorActor";
199
+ logic: EditorActorLogic;
200
+ id: "editor";
201
+ };
184
202
  }>, never, Values<{
185
203
  isReady: {
186
204
  type: "isReady";
187
205
  params: unknown;
188
206
  };
207
+ "enabled: Editor": {
208
+ type: "enabled: Editor";
209
+ params: unknown;
210
+ };
189
211
  "enabled: FitView": {
190
212
  type: "enabled: FitView";
191
213
  params: unknown;
@@ -218,6 +240,10 @@ export declare const walkthrough: {
218
240
  type: "enabled: DynamicViewWalkthrough";
219
241
  params: unknown;
220
242
  };
243
+ "focus.node: autoUnfocus": {
244
+ type: "focus.node: autoUnfocus";
245
+ params: unknown;
246
+ };
221
247
  "enabled: Overlays": {
222
248
  type: "enabled: Overlays";
223
249
  params: unknown;
@@ -230,6 +256,10 @@ export declare const walkthrough: {
230
256
  type: "is dynamic view";
231
257
  params: unknown;
232
258
  };
259
+ "is same view": {
260
+ type: "is same view";
261
+ params: unknown;
262
+ };
233
263
  "is another view": {
234
264
  type: "is another view";
235
265
  params: unknown;
@@ -262,11 +292,6 @@ export declare const walkthrough: {
262
292
  type: "xyflow.edgeClick";
263
293
  edge: import("../types").Types.Edge;
264
294
  }, Events, undefined, Values<{
265
- syncManualLayoutActorLogic: {
266
- src: "syncManualLayoutActorLogic";
267
- logic: SyncLayoutActorLogic;
268
- id: "syncLayout";
269
- };
270
295
  hotkeyActorLogic: {
271
296
  src: "hotkeyActorLogic";
272
297
  logic: HotkeyActorLogic;
@@ -287,15 +312,15 @@ export declare const walkthrough: {
287
312
  logic: MediaPrintActorLogic;
288
313
  id: "mediaPrint";
289
314
  };
315
+ editorActor: {
316
+ src: "editorActor";
317
+ logic: EditorActorLogic;
318
+ id: "editor";
319
+ };
290
320
  }>, never, never, never, never>)[];
291
321
  };
292
322
  'notations.unhighlight': {
293
323
  actions: ActionFunction<Context, Events, Events, undefined, Values<{
294
- syncManualLayoutActorLogic: {
295
- src: "syncManualLayoutActorLogic";
296
- logic: SyncLayoutActorLogic;
297
- id: "syncLayout";
298
- };
299
324
  hotkeyActorLogic: {
300
325
  src: "hotkeyActorLogic";
301
326
  logic: HotkeyActorLogic;
@@ -316,11 +341,20 @@ export declare const walkthrough: {
316
341
  logic: MediaPrintActorLogic;
317
342
  id: "mediaPrint";
318
343
  };
344
+ editorActor: {
345
+ src: "editorActor";
346
+ logic: EditorActorLogic;
347
+ id: "editor";
348
+ };
319
349
  }>, never, Values<{
320
350
  isReady: {
321
351
  type: "isReady";
322
352
  params: unknown;
323
353
  };
354
+ "enabled: Editor": {
355
+ type: "enabled: Editor";
356
+ params: unknown;
357
+ };
324
358
  "enabled: FitView": {
325
359
  type: "enabled: FitView";
326
360
  params: unknown;
@@ -353,6 +387,10 @@ export declare const walkthrough: {
353
387
  type: "enabled: DynamicViewWalkthrough";
354
388
  params: unknown;
355
389
  };
390
+ "focus.node: autoUnfocus": {
391
+ type: "focus.node: autoUnfocus";
392
+ params: unknown;
393
+ };
356
394
  "enabled: Overlays": {
357
395
  type: "enabled: Overlays";
358
396
  params: unknown;
@@ -365,6 +403,10 @@ export declare const walkthrough: {
365
403
  type: "is dynamic view";
366
404
  params: unknown;
367
405
  };
406
+ "is same view": {
407
+ type: "is same view";
408
+ params: unknown;
409
+ };
368
410
  "is another view": {
369
411
  type: "is another view";
370
412
  params: unknown;
@@ -397,11 +439,6 @@ export declare const walkthrough: {
397
439
  };
398
440
  'tag.unhighlight': {
399
441
  actions: ActionFunction<Context, Events, Events, undefined, Values<{
400
- syncManualLayoutActorLogic: {
401
- src: "syncManualLayoutActorLogic";
402
- logic: SyncLayoutActorLogic;
403
- id: "syncLayout";
404
- };
405
442
  hotkeyActorLogic: {
406
443
  src: "hotkeyActorLogic";
407
444
  logic: HotkeyActorLogic;
@@ -422,11 +459,20 @@ export declare const walkthrough: {
422
459
  logic: MediaPrintActorLogic;
423
460
  id: "mediaPrint";
424
461
  };
462
+ editorActor: {
463
+ src: "editorActor";
464
+ logic: EditorActorLogic;
465
+ id: "editor";
466
+ };
425
467
  }>, never, Values<{
426
468
  isReady: {
427
469
  type: "isReady";
428
470
  params: unknown;
429
471
  };
472
+ "enabled: Editor": {
473
+ type: "enabled: Editor";
474
+ params: unknown;
475
+ };
430
476
  "enabled: FitView": {
431
477
  type: "enabled: FitView";
432
478
  params: unknown;
@@ -459,6 +505,10 @@ export declare const walkthrough: {
459
505
  type: "enabled: DynamicViewWalkthrough";
460
506
  params: unknown;
461
507
  };
508
+ "focus.node: autoUnfocus": {
509
+ type: "focus.node: autoUnfocus";
510
+ params: unknown;
511
+ };
462
512
  "enabled: Overlays": {
463
513
  type: "enabled: Overlays";
464
514
  params: unknown;
@@ -471,6 +521,10 @@ export declare const walkthrough: {
471
521
  type: "is dynamic view";
472
522
  params: unknown;
473
523
  };
524
+ "is same view": {
525
+ type: "is same view";
526
+ params: unknown;
527
+ };
474
528
  "is another view": {
475
529
  type: "is another view";
476
530
  params: unknown;
@@ -501,6 +555,125 @@ export declare const walkthrough: {
501
555
  };
502
556
  }>, never, EmittedEvents>;
503
557
  };
558
+ 'update.view': {
559
+ guard: "is same view";
560
+ actions: ActionFunction<Context, Events, Events, undefined, Values<{
561
+ hotkeyActorLogic: {
562
+ src: "hotkeyActorLogic";
563
+ logic: HotkeyActorLogic;
564
+ id: "hotkey";
565
+ };
566
+ overlaysActorLogic: {
567
+ src: "overlaysActorLogic";
568
+ logic: OverlaysActorLogic;
569
+ id: "overlays";
570
+ };
571
+ searchActorLogic: {
572
+ src: "searchActorLogic";
573
+ logic: SearchActorLogic;
574
+ id: "search";
575
+ };
576
+ mediaPrintActorLogic: {
577
+ src: "mediaPrintActorLogic";
578
+ logic: MediaPrintActorLogic;
579
+ id: "mediaPrint";
580
+ };
581
+ editorActor: {
582
+ src: "editorActor";
583
+ logic: EditorActorLogic;
584
+ id: "editor";
585
+ };
586
+ }>, never, Values<{
587
+ isReady: {
588
+ type: "isReady";
589
+ params: unknown;
590
+ };
591
+ "enabled: Editor": {
592
+ type: "enabled: Editor";
593
+ params: unknown;
594
+ };
595
+ "enabled: FitView": {
596
+ type: "enabled: FitView";
597
+ params: unknown;
598
+ };
599
+ "enabled: FocusMode": {
600
+ type: "enabled: FocusMode";
601
+ params: unknown;
602
+ };
603
+ "enabled: Readonly": {
604
+ type: "enabled: Readonly";
605
+ params: unknown;
606
+ };
607
+ "enabled: RelationshipDetails": {
608
+ type: "enabled: RelationshipDetails";
609
+ params: unknown;
610
+ };
611
+ "enabled: Search": {
612
+ type: "enabled: Search";
613
+ params: unknown;
614
+ };
615
+ "enabled: ElementDetails": {
616
+ type: "enabled: ElementDetails";
617
+ params: unknown;
618
+ };
619
+ "enabled: OpenSource": {
620
+ type: "enabled: OpenSource";
621
+ params: unknown;
622
+ };
623
+ "enabled: DynamicViewWalkthrough": {
624
+ type: "enabled: DynamicViewWalkthrough";
625
+ params: unknown;
626
+ };
627
+ "focus.node: autoUnfocus": {
628
+ type: "focus.node: autoUnfocus";
629
+ params: unknown;
630
+ };
631
+ "enabled: Overlays": {
632
+ type: "enabled: Overlays";
633
+ params: unknown;
634
+ };
635
+ "not readonly": {
636
+ type: "not readonly";
637
+ params: unknown;
638
+ };
639
+ "is dynamic view": {
640
+ type: "is dynamic view";
641
+ params: unknown;
642
+ };
643
+ "is same view": {
644
+ type: "is same view";
645
+ params: unknown;
646
+ };
647
+ "is another view": {
648
+ type: "is another view";
649
+ params: unknown;
650
+ };
651
+ "click: node has modelFqn": {
652
+ type: "click: node has modelFqn";
653
+ params: unknown;
654
+ };
655
+ "click: selected node": {
656
+ type: "click: selected node";
657
+ params: unknown;
658
+ };
659
+ "click: same node": {
660
+ type: "click: same node";
661
+ params: unknown;
662
+ };
663
+ "click: focused node": {
664
+ type: "click: focused node";
665
+ params: unknown;
666
+ };
667
+ "click: node has connections": {
668
+ type: "click: node has connections";
669
+ params: unknown;
670
+ };
671
+ "click: selected edge": {
672
+ type: "click: selected edge";
673
+ params: unknown;
674
+ };
675
+ }>, never, EmittedEvents>[];
676
+ };
504
677
  'walkthrough.end': {
505
678
  target: string;
506
679
  };
@@ -2,7 +2,7 @@ import { isStepEdgeId, getParallelStepsPrefix, invariant } from '@likec4/core';
2
2
  import { clamp, first } from 'remeda';
3
3
  import { assertEvent } from 'xstate';
4
4
  import { SeqParallelAreaColor } from '../xyflow-sequence/const.js';
5
- import { emitEdgeClick, stopHotKeyActor, undimEverything, startHotKeyActor, cancelEditing } from './machine.actions.js';
5
+ import { updateView, emitEdgeClick, stopHotKeyActor, undimEverything, startHotKeyActor, cancelEditing } from './machine.actions.js';
6
6
  import { machine, targetState } from './machine.setup.js';
7
7
  import { x as xstateActions_cjsExports } from '../../_virtual/xstate-actions.cjs.js';
8
8
  import { fitFocusedBounds, returnViewportBefore, cancelFitDiagram, assignViewportBefore } from './machine.actions.layout.js';
@@ -112,9 +112,15 @@ const walkthrough = machine.createStateConfig({
112
112
  "key.arrow.left": {
113
113
  actions: xstateActions_cjsExports.raise({ type: "walkthrough.step", direction: "previous" })
114
114
  },
115
+ "key.arrow.up": {
116
+ actions: xstateActions_cjsExports.raise({ type: "walkthrough.step", direction: "previous" })
117
+ },
115
118
  "key.arrow.right": {
116
119
  actions: xstateActions_cjsExports.raise({ type: "walkthrough.step", direction: "next" })
117
120
  },
121
+ "key.arrow.down": {
122
+ actions: xstateActions_cjsExports.raise({ type: "walkthrough.step", direction: "next" })
123
+ },
118
124
  "walkthrough.step": {
119
125
  actions: [
120
126
  xstateActions_cjsExports.assign(({ context, event }) => {
@@ -165,6 +171,13 @@ const walkthrough = machine.createStateConfig({
165
171
  "tag.unhighlight": {
166
172
  actions: updateActiveWalkthroughState()
167
173
  },
174
+ "update.view": {
175
+ guard: "is same view",
176
+ actions: [
177
+ updateView(),
178
+ updateActiveWalkthroughState()
179
+ ]
180
+ },
168
181
  "walkthrough.end": {
169
182
  target: targetState.idle
170
183
  },
@@ -1,14 +1,18 @@
1
1
  import { ActorSystem } from 'xstate';
2
+ import { EditorActorRef } from '../../editor/editorActor';
2
3
  import { OverlaysActorRef } from '../../overlays/overlaysActor';
3
4
  import { SearchActorRef } from '../../search/searchActor';
4
5
  import { DiagramMachineRef } from './machine';
5
- import { SyncLayoutActorRef } from './syncManualLayoutActor';
6
+ export type NodeWithData = {
7
+ id: string;
8
+ data: Record<string, unknown>;
9
+ };
6
10
  export type System = ActorSystem<{
7
11
  actors: {
8
12
  diagram: DiagramMachineRef;
9
13
  overlays: OverlaysActorRef;
10
14
  search: SearchActorRef;
11
- syncLayout: SyncLayoutActorRef;
15
+ editor: EditorActorRef;
12
16
  };
13
17
  }>;
14
18
  export interface DiagramActorRef extends DiagramMachineRef {
@@ -1,19 +1,39 @@
1
- import { DiagramEdge, DiagramNode, DiagramView, BBox } from '@likec4/core/types';
1
+ import { DiagramEdge, DiagramNode, DiagramView, Fqn, BBox } from '@likec4/core/types';
2
2
  import { Viewport } from '@xyflow/system';
3
3
  import { ActorSystem } from 'xstate';
4
+ import { EditorActorRef } from '../../editor/editorActor';
5
+ import { ViewPaddings } from '../../LikeC4Diagram.props';
4
6
  import { OverlaysActorRef } from '../../overlays/overlaysActor';
5
7
  import { SearchActorRef } from '../../search/searchActor';
6
8
  import { Types } from '../types';
7
9
  import { Context } from './machine.setup';
8
- import { SyncLayoutActorRef } from './syncManualLayoutActor';
9
- import { DiagramActorRef } from './types';
10
- import { Fqn, DeploymentFqn } from '@likec4/core';
10
+ import { DiagramActorRef, NodeWithData } from './types';
11
+ import { DeploymentFqn } from '@likec4/core';
12
+ export declare const findNodeByModelFqn: <T extends NodeWithData>(xynodes: T[], elementFqn: Fqn) => (T & {
13
+ data: {
14
+ modelFqn: Fqn;
15
+ };
16
+ }) | null;
11
17
  export declare function typedSystem(system: ActorSystem<any>): {
12
- readonly syncLayoutActorRef: SyncLayoutActorRef | null;
13
18
  readonly overlaysActorRef: OverlaysActorRef | null;
14
19
  readonly diagramActorRef: DiagramActorRef;
15
20
  readonly searchActorRef: SearchActorRef | null;
21
+ readonly editorActorRef: EditorActorRef | null;
16
22
  };
23
+ export declare namespace typedSystem {
24
+ var editorActor: ({ system }: {
25
+ system: ActorSystem<any>;
26
+ }) => EditorActorRef;
27
+ var overlaysActor: ({ system }: {
28
+ system: ActorSystem<any>;
29
+ }) => OverlaysActorRef;
30
+ var diagramActor: ({ system }: {
31
+ system: ActorSystem<any>;
32
+ }) => DiagramActorRef;
33
+ var searchActor: ({ system }: {
34
+ system: ActorSystem<any>;
35
+ }) => SearchActorRef;
36
+ }
17
37
  export declare function findDiagramNode(ctx: Context, xynodeId: string): DiagramNode | null;
18
38
  export declare function findDiagramEdge(ctx: Context, xyedgeId: string): DiagramEdge | null;
19
39
  export declare function focusedBounds(params: {
@@ -28,7 +48,7 @@ export declare function activeSequenceBounds(params: {
28
48
  bounds: BBox;
29
49
  duration: number;
30
50
  };
31
- export declare function nodeRef(node: Types.Node): Fqn | DeploymentFqn | null;
51
+ export declare function nodeRef(node: Types.Node): DeploymentFqn | Fqn | null;
32
52
  export declare function findCorrespondingNode(context: Pick<Context, 'lastOnNavigate' | 'xynodes'>, event: {
33
53
  view: DiagramView;
34
54
  xynodes: Types.Node[];
@@ -36,5 +56,11 @@ export declare function findCorrespondingNode(context: Pick<Context, 'lastOnNavi
36
56
  fromNode: Types.Node<"element" | "deployment" | "compound-element" | "compound-deployment" | "view-group" | "seq-actor" | "seq-parallel"> | null | undefined;
37
57
  toNode: Types.Node<"element" | "deployment" | "compound-element" | "compound-deployment" | "view-group" | "seq-actor" | "seq-parallel"> | null | undefined;
38
58
  };
39
- export declare function calcViewportForBounds(context: Pick<Context, 'xystore' | 'xyflow' | 'fitViewPadding'>, bounds: BBox): Viewport;
59
+ export declare function calcViewportForBounds(context: Pick<Context, 'xystore' | 'fitViewPadding'>, bounds: BBox): Viewport;
40
60
  export declare function parseAsNumber(value: string | number | undefined): number;
61
+ export declare function parseViewPaddings(paddings: ViewPaddings): {
62
+ top: number;
63
+ right: number;
64
+ bottom: number;
65
+ left: number;
66
+ };
@@ -3,11 +3,12 @@ import { nonNullable, nonexhaustive } from '@likec4/core/utils';
3
3
  import { getViewportForBounds, getNodesBounds, getNodeDimensions, getEdgePosition } from '@xyflow/system';
4
4
  import { MinZoom } from '../../base/const.js';
5
5
 
6
+ const findNodeByModelFqn = (xynodes, elementFqn) => {
7
+ const node = xynodes.find((n) => "modelFqn" in n.data && n.data["modelFqn"] === elementFqn);
8
+ return node ? node : null;
9
+ };
6
10
  function typedSystem(system) {
7
11
  return {
8
- get syncLayoutActorRef() {
9
- return system.get("syncLayout") ?? null;
10
- },
11
12
  get overlaysActorRef() {
12
13
  return system.get("overlays") ?? null;
13
14
  },
@@ -16,9 +17,24 @@ function typedSystem(system) {
16
17
  },
17
18
  get searchActorRef() {
18
19
  return system.get("search") ?? null;
20
+ },
21
+ get editorActorRef() {
22
+ return system.get("editor") ?? null;
19
23
  }
20
24
  };
21
25
  }
26
+ typedSystem.editorActor = ({ system }) => {
27
+ return system.get("editor");
28
+ };
29
+ typedSystem.overlaysActor = ({ system }) => {
30
+ return system.get("overlays");
31
+ };
32
+ typedSystem.diagramActor = ({ system }) => {
33
+ return system.get("diagram");
34
+ };
35
+ typedSystem.searchActor = ({ system }) => {
36
+ return system.get("search");
37
+ };
22
38
  function findDiagramNode(ctx, xynodeId) {
23
39
  return ctx.view.nodes.find((n) => n.id === xynodeId) ?? null;
24
40
  }
@@ -149,12 +165,12 @@ function findCorrespondingNode(context, event) {
149
165
  return { fromNode, toNode };
150
166
  }
151
167
  function calcViewportForBounds(context, bounds) {
152
- let currentZoom = context.xyflow.getZoom();
153
168
  let {
154
169
  width,
155
- height
170
+ height,
171
+ transform
156
172
  } = context.xystore.getState();
157
- const maxZoom = Math.max(currentZoom, 1);
173
+ const maxZoom = Math.max(transform[2], 1);
158
174
  return getViewportForBounds(
159
175
  bounds,
160
176
  width,
@@ -165,4 +181,4 @@ function calcViewportForBounds(context, bounds) {
165
181
  );
166
182
  }
167
183
 
168
- export { activeSequenceBounds, calcViewportForBounds, findCorrespondingNode, findDiagramEdge, findDiagramNode, focusedBounds, nodeRef, typedSystem };
184
+ export { activeSequenceBounds, calcViewportForBounds, findCorrespondingNode, findDiagramEdge, findDiagramNode, findNodeByModelFqn, focusedBounds, nodeRef, typedSystem };
@@ -9,9 +9,9 @@ import { useDiagramContext } from '../../../hooks/useDiagram.js';
9
9
  import { useXYStore } from '../../../hooks/useXYFlow.js';
10
10
  import { container, icon, card, tabPanel, shapeBadge, elementNotation } from './NotationPanel.css.js';
11
11
  import { useMantinePortalProps } from '../../../hooks/useMantinePortalProps.js';
12
- import IconAlertTriangle from '../../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.0/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertTriangle.js';
13
- import IconHelpCircle from '../../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.0/node_modules/@tabler/icons-react/dist/esm/icons/IconHelpCircle.js';
14
- import IconArrowDownRight from '../../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.0/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowDownRight.js';
12
+ import IconAlertTriangle from '../../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertTriangle.js';
13
+ import IconHelpCircle from '../../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconHelpCircle.js';
14
+ import IconArrowDownRight from '../../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowDownRight.js';
15
15
  import { useDiagram } from '../../../hooks/safeContext.js';
16
16
  import { ElementShape } from '../../../base-primitives/element/ElementShape.js';
17
17
 
@@ -9,7 +9,7 @@ import 'fast-equals';
9
9
  import { useDiagram } from '../hooks/safeContext.js';
10
10
  import { nodeToRect, bezierControlPoints } from '../utils/xyflow.js';
11
11
  import { useXYStoreApi } from '../hooks/useXYFlow.js';
12
- import { vector } from '../utils/vector.js';
12
+ import { vector } from '@likec4/core/geometry';
13
13
 
14
14
  class Rect {
15
15
  static LeftPadding = 42;
@@ -167,11 +167,7 @@ function makeRelativeEdgeModifier(edge, movingRect, anchorNode, staticNode) {
167
167
  min: -1,
168
168
  max: 1
169
169
  });
170
- const newP = p.add(d.multiply(coeff)).round();
171
- return {
172
- x: newP.x,
173
- y: newP.y
174
- };
170
+ return p.add(d.multiply(coeff)).round().toObject();
175
171
  };
176
172
  return {
177
173
  id: edge.id,
@@ -189,7 +185,7 @@ function makeRelativeEdgeModifier(edge, movingRect, anchorNode, staticNode) {
189
185
  };
190
186
  }
191
187
  function createLayoutConstraints(xyflowApi, editingNodeIds) {
192
- const { parentLookup, nodeLookup, edges, edgeLookup } = xyflowApi.getState();
188
+ const { parentLookup, nodeLookup, edges } = xyflowApi.getState();
193
189
  const rects = /* @__PURE__ */ new Map();
194
190
  const ancestorsOf = new DefaultMap((nodeId) => {
195
191
  const xynode = nodeLookup.get(nodeId);
@@ -330,9 +326,9 @@ function createLayoutConstraints(xyflowApi, editingNodeIds) {
330
326
  }
331
327
  return acc;
332
328
  }, []);
333
- const { edgeLookup: edgeLookup2, triggerNodeChanges, triggerEdgeChanges } = xyflowApi.getState();
329
+ const { edgeLookup, triggerNodeChanges, triggerEdgeChanges } = xyflowApi.getState();
334
330
  triggerNodeChanges(nodeUpdates);
335
- const changes = _edgeModifiers.map((fm) => fm(edgeLookup2));
331
+ const changes = _edgeModifiers.map((fm) => fm(edgeLookup));
336
332
  if (changes.length > 0) {
337
333
  triggerEdgeChanges(changes);
338
334
  }