@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,11 +1,11 @@
1
1
  import { ActionFunction, Values } from 'xstate';
2
2
  import { Context, Events, EmittedEvents } from './machine.setup';
3
3
  import { XYFlowInstance } from '../../hooks';
4
- import { SyncLayoutActorLogic } from './syncManualLayoutActor';
5
4
  import { HotkeyActorLogic } from './hotkeyActor';
6
5
  import { OverlaysActorLogic } from '../../overlays/overlaysActor';
7
6
  import { SearchActorLogic } from '../../search/searchActor';
8
7
  import { MediaPrintActorLogic } from './mediaPrintActor';
8
+ import { EditorActorLogic } from '../../editor';
9
9
  import { DiagramView } from '@likec4/core';
10
10
  /**
11
11
  * To be in `initializing` state, the diagram must wait for two events:
@@ -21,11 +21,6 @@ export declare const initializing: {
21
21
  type: "xyflow.init";
22
22
  instance: XYFlowInstance;
23
23
  }, Events, undefined, Values<{
24
- syncManualLayoutActorLogic: {
25
- src: "syncManualLayoutActorLogic";
26
- logic: SyncLayoutActorLogic;
27
- id: "syncLayout";
28
- };
29
24
  hotkeyActorLogic: {
30
25
  src: "hotkeyActorLogic";
31
26
  logic: HotkeyActorLogic;
@@ -46,6 +41,11 @@ export declare const initializing: {
46
41
  logic: MediaPrintActorLogic;
47
42
  id: "mediaPrint";
48
43
  };
44
+ editorActor: {
45
+ src: "editorActor";
46
+ logic: EditorActorLogic;
47
+ id: "editor";
48
+ };
49
49
  }>, never, never, never, never>;
50
50
  target: string;
51
51
  };
@@ -53,15 +53,14 @@ export declare const initializing: {
53
53
  actions: ActionFunction<Context, {
54
54
  type: "update.view";
55
55
  view: DiagramView;
56
+ source?: "editor" | "external";
57
+ } | {
58
+ type: "update.view";
59
+ view: DiagramView;
60
+ source?: "editor" | "external";
56
61
  xynodes: import("../types").Types.Node[];
57
62
  xyedges: import("../types").Types.Edge[];
58
- source?: "internal" | "external";
59
63
  }, Events, undefined, Values<{
60
- syncManualLayoutActorLogic: {
61
- src: "syncManualLayoutActorLogic";
62
- logic: SyncLayoutActorLogic;
63
- id: "syncLayout";
64
- };
65
64
  hotkeyActorLogic: {
66
65
  src: "hotkeyActorLogic";
67
66
  logic: HotkeyActorLogic;
@@ -82,7 +81,12 @@ export declare const initializing: {
82
81
  logic: MediaPrintActorLogic;
83
82
  id: "mediaPrint";
84
83
  };
85
- }>, never, never, never, never>;
84
+ editorActor: {
85
+ src: "editorActor";
86
+ logic: EditorActorLogic;
87
+ id: "editor";
88
+ };
89
+ }>, never, never, never, never>[];
86
90
  target: string;
87
91
  };
88
92
  };
@@ -96,11 +100,6 @@ export declare const isReady: {
96
100
  always: ({
97
101
  guard: "isReady";
98
102
  actions: ActionFunction<Context, Events, Events, undefined, Values<{
99
- syncManualLayoutActorLogic: {
100
- src: "syncManualLayoutActorLogic";
101
- logic: SyncLayoutActorLogic;
102
- id: "syncLayout";
103
- };
104
103
  hotkeyActorLogic: {
105
104
  src: "hotkeyActorLogic";
106
105
  logic: HotkeyActorLogic;
@@ -121,11 +120,20 @@ export declare const isReady: {
121
120
  logic: MediaPrintActorLogic;
122
121
  id: "mediaPrint";
123
122
  };
123
+ editorActor: {
124
+ src: "editorActor";
125
+ logic: EditorActorLogic;
126
+ id: "editor";
127
+ };
124
128
  }>, never, Values<{
125
129
  isReady: {
126
130
  type: "isReady";
127
131
  params: unknown;
128
132
  };
133
+ "enabled: Editor": {
134
+ type: "enabled: Editor";
135
+ params: unknown;
136
+ };
129
137
  "enabled: FitView": {
130
138
  type: "enabled: FitView";
131
139
  params: unknown;
@@ -158,6 +166,10 @@ export declare const isReady: {
158
166
  type: "enabled: DynamicViewWalkthrough";
159
167
  params: unknown;
160
168
  };
169
+ "focus.node: autoUnfocus": {
170
+ type: "focus.node: autoUnfocus";
171
+ params: unknown;
172
+ };
161
173
  "enabled: Overlays": {
162
174
  type: "enabled: Overlays";
163
175
  params: unknown;
@@ -170,6 +182,10 @@ export declare const isReady: {
170
182
  type: "is dynamic view";
171
183
  params: unknown;
172
184
  };
185
+ "is same view": {
186
+ type: "is same view";
187
+ params: unknown;
188
+ };
173
189
  "is another view": {
174
190
  type: "is another view";
175
191
  params: unknown;
@@ -1,4 +1,4 @@
1
- import { emitInitialized } from './machine.actions.js';
1
+ import { emitInitialized, assignXYDataFromView } from './machine.actions.js';
2
2
  import { fitDiagram } from './machine.actions.layout.js';
3
3
  import { machine } from './machine.setup.js';
4
4
  import { x as xstateActions_cjsExports } from '../../_virtual/xstate-actions.cjs.js';
@@ -16,15 +16,15 @@ const initializing = machine.createStateConfig({
16
16
  target: "isReady"
17
17
  },
18
18
  "update.view": {
19
- actions: xstateActions_cjsExports.assign(({ context, event }) => ({
20
- initialized: {
21
- ...context.initialized,
22
- xydata: true
23
- },
24
- view: event.view,
25
- xynodes: event.xynodes,
26
- xyedges: event.xyedges
27
- })),
19
+ actions: [
20
+ assignXYDataFromView(),
21
+ xstateActions_cjsExports.assign(({ context }) => ({
22
+ initialized: {
23
+ ...context.initialized,
24
+ xydata: true
25
+ }
26
+ }))
27
+ ],
28
28
  target: "isReady"
29
29
  }
30
30
  }
@@ -1,10 +1,12 @@
1
1
  import { BBox } from '@likec4/core/types';
2
2
  import { invariant, nonNullable } from '@likec4/core/utils';
3
+ import { isTruthy } from 'remeda';
3
4
  import { enqueueActions, assertEvent } from 'xstate';
5
+ import { convertToXYFlow } from '../convert-to-xyflow.js';
4
6
  import { mergeXYNodesEdges } from './assign.js';
5
7
  import { disableCompareWithLatest } from './machine.actions.js';
6
8
  import { machine, targetState } from './machine.setup.js';
7
- import { calcViewportForBounds, findCorrespondingNode, nodeRef } from './utils.js';
9
+ import { calcViewportForBounds, findCorrespondingNode, findNodeByModelFqn, nodeRef } from './utils.js';
8
10
  import { cancelFitDiagram, raiseSetViewport, raiseFitDiagram } from './machine.actions.layout.js';
9
11
 
10
12
  const handleBrowserForwardBackward = () => machine.assign(({ context, event }) => {
@@ -73,17 +75,24 @@ const navigating = machine.createStateConfig({
73
75
  history
74
76
  }
75
77
  } = context;
78
+ const eventWithXYData = "xynodes" in event ? event : {
79
+ ...event,
80
+ ...convertToXYFlow({
81
+ dynamicViewVariant: context.dynamicViewVariant,
82
+ view: event.view,
83
+ where: context.where
84
+ })
85
+ };
76
86
  invariant(xyflow, "xyflow is not initialized");
77
87
  const calcZoomTowardsNextViewport = (nextViewport2) => {
78
88
  const zoom = xyflow.getZoom();
79
- const coef = nextViewport2.zoom < zoom ? 0.7 : 0.3;
89
+ const coef = nextViewport2.zoom < zoom ? 0.8 : 0.4;
80
90
  return zoom + (nextViewport2.zoom - zoom) * coef;
81
91
  };
82
92
  const fromHistory = history[currentIndex];
83
93
  if (fromHistory && fromHistory.viewId === event.view.id) {
84
- console.log("Navigating: fromHistory", fromHistory);
85
94
  enqueue.assign({
86
- ...mergeXYNodesEdges(context, event),
95
+ ...mergeXYNodesEdges(context, eventWithXYData),
87
96
  dynamicViewVariant: fromHistory.dynamicViewVariant ?? context.dynamicViewVariant,
88
97
  viewportChangedManually: fromHistory.viewportChangedManually
89
98
  });
@@ -128,7 +137,7 @@ const navigating = machine.createStateConfig({
128
137
  context,
129
138
  event.view.bounds
130
139
  );
131
- const { fromNode, toNode } = findCorrespondingNode(context, event);
140
+ const { fromNode, toNode } = findCorrespondingNode(context, eventWithXYData);
132
141
  if (fromNode && toNode) {
133
142
  const elFrom = xyflow.getInternalNode(fromNode.id);
134
143
  const fromPoint = xyflow.flowToScreenPosition({
@@ -158,8 +167,10 @@ const navigating = machine.createStateConfig({
158
167
  viewport: { ...nextViewport },
159
168
  viewportChangedManually: false
160
169
  });
170
+ const focusOnElement = context.lastOnNavigate?.focusOnElement;
171
+ const nodeToFocus = isTruthy(focusOnElement) ? findNodeByModelFqn(eventWithXYData.xynodes, focusOnElement) : null;
161
172
  enqueue.assign({
162
- ...mergeXYNodesEdges(context, event),
173
+ ...mergeXYNodesEdges(context, eventWithXYData),
163
174
  viewportChangedManually: false,
164
175
  lastOnNavigate: null,
165
176
  navigationHistory: {
@@ -167,9 +178,17 @@ const navigating = machine.createStateConfig({
167
178
  history: updatedHistory
168
179
  }
169
180
  });
170
- enqueue(raiseFitDiagram({
171
- delay: 100
172
- }));
181
+ if (nodeToFocus) {
182
+ enqueue.raise({
183
+ type: "focus.node",
184
+ nodeId: nodeToFocus.id,
185
+ autoUnfocus: true
186
+ }, { delay: 150 });
187
+ } else {
188
+ enqueue(raiseFitDiagram({
189
+ delay: 100
190
+ }));
191
+ }
173
192
  })
174
193
  ]
175
194
  }