@likec4/diagram 1.47.0 → 1.49.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 (389) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +8 -10
  3. package/adhoc-editor/package.json +4 -0
  4. package/dist/LikeC4Diagram.d.ts +2 -1
  5. package/dist/LikeC4Diagram.js +85 -81
  6. package/dist/LikeC4Diagram.props.d.ts +10 -6
  7. package/dist/LikeC4ModelProvider.d.ts +4 -4
  8. package/dist/LikeC4ModelProvider.js +2 -2
  9. package/dist/LikeC4ProjectsOverview.d.ts +3 -2
  10. package/dist/LikeC4ProjectsProvider.d.ts +2 -1
  11. package/dist/LikeC4ProjectsProvider.js +10 -8
  12. package/dist/LikeC4Styles.d.ts +3 -6
  13. package/dist/LikeC4Styles.js +44 -43
  14. package/dist/LikeC4View.d.ts +22 -1
  15. package/dist/LikeC4View.js +40 -25
  16. package/dist/ReactLikeC4.d.ts +13 -2
  17. package/dist/ReactLikeC4.js +8 -4
  18. package/dist/StaticLikeC4Diagram.d.ts +2 -1
  19. package/dist/StaticLikeC4Diagram.js +1 -0
  20. package/dist/_virtual/store-1b2fbb72.cjs.js +3 -0
  21. package/dist/_virtual/xstate-store-react.cjs.js +5 -0
  22. package/dist/_virtual/xstate-store-react.cjs2.js +3 -0
  23. package/dist/adhoc-editor/EditorPanel.d.ts +1 -0
  24. package/dist/adhoc-editor/EditorPanel.js +105 -0
  25. package/dist/adhoc-editor/ElementsTree.d.ts +2 -0
  26. package/dist/adhoc-editor/ElementsTree.js +142 -0
  27. package/dist/adhoc-editor/LikeC4AdHocViewEditor.d.ts +4 -0
  28. package/dist/adhoc-editor/LikeC4AdHocViewEditor.js +74 -0
  29. package/dist/adhoc-editor/components/Tree.d.ts +48 -0
  30. package/dist/adhoc-editor/components/Tree.js +296 -0
  31. package/dist/adhoc-editor/hooks.d.ts +14 -0
  32. package/dist/adhoc-editor/hooks.js +29 -0
  33. package/dist/adhoc-editor/index.d.ts +2 -0
  34. package/dist/adhoc-editor/index.js +1 -0
  35. package/dist/adhoc-editor/state/ActorProvider.d.ts +5 -0
  36. package/dist/adhoc-editor/state/ActorProvider.js +40 -0
  37. package/dist/adhoc-editor/state/actor.d.ts +13 -0
  38. package/dist/adhoc-editor/state/actor.editor.d.ts +56 -0
  39. package/dist/adhoc-editor/state/actor.editor.js +205 -0
  40. package/dist/adhoc-editor/state/actor.js +16 -0
  41. package/dist/adhoc-editor/state/actor.layouter.d.ts +51 -0
  42. package/dist/adhoc-editor/state/actor.layouter.js +70 -0
  43. package/dist/adhoc-editor/state/actor.types.d.ts +63 -0
  44. package/dist/adhoc-editor/state/actor.types.js +29 -0
  45. package/dist/adhoc-editor/state/panel.d.ts +95 -0
  46. package/dist/adhoc-editor/state/panel.js +139 -0
  47. package/dist/adhoc-editor/state/utils.d.ts +17 -0
  48. package/dist/adhoc-editor/state/utils.js +32 -0
  49. package/dist/adhoc-editor/useElementsTree.d.ts +18 -0
  50. package/dist/adhoc-editor/useElementsTree.js +130 -0
  51. package/dist/adhoc-editor/viewrules/ViewRulesPanel.d.ts +6 -0
  52. package/dist/base/const.d.ts +2 -0
  53. package/dist/base/const.js +2 -1
  54. package/dist/base/updateEdges.js +26 -3
  55. package/dist/base/updateNodes.js +8 -5
  56. package/dist/base-primitives/Markdown.d.ts +1 -1
  57. package/dist/base-primitives/Markdown.js +1 -1
  58. package/dist/base-primitives/NodeHandles.d.ts +4 -2
  59. package/dist/base-primitives/NodeHandles.js +46 -19
  60. package/dist/base-primitives/compound/CompoundActionButton.js +28 -12
  61. package/dist/base-primitives/compound/CompoundDetailsButton.js +24 -9
  62. package/dist/base-primitives/compound/CompoundNodeContainer.js +11 -8
  63. package/dist/base-primitives/compound/CompoundTitle.js +1 -2
  64. package/dist/base-primitives/compound/actionbtns.css.d.ts +1 -1
  65. package/dist/base-primitives/edge/EdgeActionButton.js +1 -1
  66. package/dist/base-primitives/edge/EdgeContainer.js +5 -2
  67. package/dist/base-primitives/edge/EdgeLabel.js +3 -4
  68. package/dist/base-primitives/edge/EdgeLabelContainer.d.ts +2 -1
  69. package/dist/base-primitives/edge/EdgeLabelContainer.js +17 -20
  70. package/dist/base-primitives/element/ElementActionButtons.js +57 -59
  71. package/dist/base-primitives/element/ElementData.d.ts +7 -7
  72. package/dist/base-primitives/element/ElementData.js +61 -48
  73. package/dist/base-primitives/element/ElementDetailsButton.js +48 -18
  74. package/dist/base-primitives/element/ElementNodeContainer.d.ts +5 -5
  75. package/dist/base-primitives/element/ElementNodeContainer.js +24 -10
  76. package/dist/base-primitives/element/ElementShape.d.ts +2 -2
  77. package/dist/base-primitives/element/ElementShape.js +70 -7
  78. package/dist/base-primitives/element/ElementTags.d.ts +6 -2
  79. package/dist/base-primitives/element/ElementTags.js +55 -32
  80. package/dist/base-primitives/index.d.ts +1 -1
  81. package/dist/base-primitives/memoEdge.js +1 -1
  82. package/dist/base-primitives/memoNode.js +1 -1
  83. package/dist/components/ErrorFallback.js +1 -1
  84. package/dist/components/Link.js +3 -3
  85. package/dist/components/NavigationPanel.d.ts +2 -2
  86. package/dist/components/NavigationPanel.js +5 -26
  87. package/dist/components/PortalToContainer.js +3 -4
  88. package/dist/components/RootContainer.js +9 -19
  89. package/dist/components/ViewNotFound.d.ts +3 -3
  90. package/dist/components/ViewNotFound.js +30 -26
  91. package/dist/context/CurrentViewModelProvider.d.ts +2 -0
  92. package/dist/context/CurrentViewModelProvider.js +12 -0
  93. package/dist/context/DefaultMantineProvider.d.ts +2 -0
  94. package/dist/context/DefaultMantineProvider.js +75 -0
  95. package/dist/context/DiagramEventHandlers.d.ts +5 -5
  96. package/dist/context/DiagramEventHandlers.js +10 -4
  97. package/dist/context/DiagramFeatures.d.ts +8 -7
  98. package/dist/context/DiagramFeatures.js +16 -13
  99. package/dist/context/EnsureMantine.d.ts +0 -3
  100. package/dist/context/EnsureMantine.js +3 -4
  101. package/dist/context/FramerMotionConfig.d.ts +1 -3
  102. package/dist/context/IconRenderer.d.ts +19 -4
  103. package/dist/context/IconRenderer.js +52 -25
  104. package/dist/context/LikeC4ModelContext.d.ts +10 -5
  105. package/dist/context/LikeC4ModelContext.js +11 -3
  106. package/dist/context/LikeC4ProjectsContext.d.ts +3 -2
  107. package/dist/context/LikeC4ProjectsContext.js +6 -2
  108. package/dist/context/RootContainerContext.d.ts +10 -3
  109. package/dist/context/RootContainerContext.js +8 -3
  110. package/dist/context/TagStylesContext.js +13 -5
  111. package/dist/custom/hooks.d.ts +2 -2
  112. package/dist/custom/index.d.ts +1 -1
  113. package/dist/custom/index.js +16 -15
  114. package/dist/editor/LikeC4EditorCallbacks.d.ts +18 -0
  115. package/dist/editor/LikeC4EditorCallbacks.js +5 -0
  116. package/dist/editor/LikeC4EditorProvider.d.ts +30 -18
  117. package/dist/editor/LikeC4EditorProvider.js +3 -3
  118. package/dist/editor/applyChangesToManualLayout.js +7 -6
  119. package/dist/editor/editorActor.actions.d.ts +25 -25
  120. package/dist/editor/editorActor.actions.js +22 -22
  121. package/dist/editor/editorActor.setup.d.ts +84 -0
  122. package/dist/editor/editorActor.setup.js +38 -0
  123. package/dist/editor/editorActor.states.d.ts +9 -0
  124. package/dist/editor/{editorActor.js → editorActor.states.js} +21 -72
  125. package/dist/editor/index.d.ts +4 -3
  126. package/dist/editor/useEditorActorLogic.d.ts +2 -565
  127. package/dist/editor/useEditorActorLogic.js +14 -21
  128. package/dist/hooks/index.d.ts +3 -3
  129. package/dist/hooks/safeContext.d.ts +4 -5
  130. package/dist/hooks/useCallbackRef.d.ts +6 -0
  131. package/dist/hooks/useCallbackRef.js +7 -6
  132. package/dist/hooks/useCurrentView.js +5 -10
  133. package/dist/hooks/useCurrentViewModel.d.ts +8 -2
  134. package/dist/hooks/useCurrentViewModel.js +3 -7
  135. package/dist/hooks/useDiagram.d.ts +9 -1
  136. package/dist/hooks/useDiagram.js +10 -4
  137. package/dist/hooks/useDiagramCompareLayout.d.ts +6 -6
  138. package/dist/hooks/useDiagramCompareLayout.js +1 -1
  139. package/dist/hooks/useLikeC4ElementsTree.d.ts +1 -1
  140. package/dist/hooks/useLikeC4ElementsTree.js +2 -2
  141. package/dist/hooks/useLikeC4Model.d.ts +6 -2
  142. package/dist/hooks/useLikeC4Model.js +7 -9
  143. package/dist/hooks/useLikeC4Project.d.ts +4 -6
  144. package/dist/hooks/useLikeC4Project.js +19 -31
  145. package/dist/hooks/useLikeC4Styles.js +3 -9
  146. package/dist/hooks/useMantinePortalProps.d.ts +1 -1
  147. package/dist/hooks/useMediaPrint.d.ts +0 -2
  148. package/dist/hooks/useOverlaysActor.js +4 -4
  149. package/dist/hooks/useSearchActor.js +4 -4
  150. package/dist/hooks/useSetState.d.ts +6 -1
  151. package/dist/hooks/useSetState.js +7 -4
  152. package/dist/hooks/useXYFlow.d.ts +7 -1
  153. package/dist/hooks/useXYFlow.js +4 -4
  154. package/dist/index.d.ts +5 -4
  155. package/dist/index.js +3 -1
  156. package/dist/likec4diagram/DiagramUI.js +1 -3
  157. package/dist/likec4diagram/DiagramXYFlow.d.ts +2 -1
  158. package/dist/likec4diagram/DiagramXYFlow.js +29 -18
  159. package/dist/likec4diagram/convert-to-xyflow.d.ts +2 -1
  160. package/dist/likec4diagram/convert-to-xyflow.js +2 -6
  161. package/dist/likec4diagram/custom/edges/RelationshipEdge.js +34 -37
  162. package/dist/likec4diagram/custom/edges/edges.css.js +2 -1
  163. package/dist/likec4diagram/custom/edges/useControlPoints.js +3 -3
  164. package/dist/likec4diagram/custom/edges/useRelationshipEdgePath.d.ts +3 -0
  165. package/dist/likec4diagram/custom/edges/useRelationshipEdgePath.js +52 -34
  166. package/dist/likec4diagram/custom/nodes/ElementActions.d.ts +1 -2
  167. package/dist/likec4diagram/custom/nodes/ElementActions.js +7 -10
  168. package/dist/likec4diagram/custom/nodes/NodeDrifts.d.ts +1 -2
  169. package/dist/likec4diagram/custom/nodes/NodeDrifts.js +3 -20
  170. package/dist/likec4diagram/custom/nodes/NodeNotes.d.ts +6 -0
  171. package/dist/likec4diagram/custom/nodes/NodeNotes.js +286 -0
  172. package/dist/likec4diagram/custom/nodes/SequenceActorNode.js +10 -6
  173. package/dist/likec4diagram/custom/nodes/nodes.js +30 -8
  174. package/dist/likec4diagram/custom/nodes/toolbar/ColorButton.js +5 -4
  175. package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.d.ts +6 -1
  176. package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.js +14 -9
  177. package/dist/likec4diagram/custom/nodes/toolbar/_shared.js +4 -4
  178. package/dist/likec4diagram/custom/nodes/toolbar/styles.css.js +3 -3
  179. package/dist/likec4diagram/relationship-popover/RelationshipPopover.js +16 -36
  180. package/dist/likec4diagram/relationship-popover/components.d.ts +7 -0
  181. package/dist/likec4diagram/relationship-popover/components.js +39 -0
  182. package/dist/likec4diagram/state/DiagramActorProvider.d.ts +4 -3
  183. package/dist/likec4diagram/state/DiagramActorProvider.js +39 -66
  184. package/dist/likec4diagram/state/assign.d.ts +1 -1
  185. package/dist/likec4diagram/state/createViewChange.js +16 -4
  186. package/dist/likec4diagram/state/diagram-api.d.ts +11 -0
  187. package/dist/likec4diagram/state/diagram-api.js +15 -0
  188. package/dist/likec4diagram/state/machine.actions.d.ts +92 -0
  189. package/dist/likec4diagram/state/machine.actions.js +127 -58
  190. package/dist/likec4diagram/state/machine.actions.layout.d.ts +23 -2
  191. package/dist/likec4diagram/state/machine.actions.layout.js +68 -15
  192. package/dist/likec4diagram/state/machine.d.ts +1 -1
  193. package/dist/likec4diagram/state/machine.js +35 -31
  194. package/dist/likec4diagram/state/machine.setup.d.ts +40 -7
  195. package/dist/likec4diagram/state/machine.setup.js +13 -4
  196. package/dist/likec4diagram/state/machine.state.initializing.d.ts +32 -2
  197. package/dist/likec4diagram/state/machine.state.navigating.d.ts +1 -1
  198. package/dist/likec4diagram/state/machine.state.navigating.js +82 -50
  199. package/dist/likec4diagram/state/machine.state.ready.d.ts +565 -579
  200. package/dist/likec4diagram/state/machine.state.ready.focused.d.ts +17 -148
  201. package/dist/likec4diagram/state/machine.state.ready.focused.js +6 -14
  202. package/dist/likec4diagram/state/machine.state.ready.idle.d.ts +11 -96
  203. package/dist/likec4diagram/state/machine.state.ready.idle.js +7 -12
  204. package/dist/likec4diagram/state/machine.state.ready.js +89 -70
  205. package/dist/likec4diagram/state/machine.state.ready.printing.d.ts +4 -0
  206. package/dist/likec4diagram/state/machine.state.ready.printing.js +4 -3
  207. package/dist/likec4diagram/state/machine.state.ready.walkthrough.d.ts +145 -2
  208. package/dist/likec4diagram/state/machine.state.ready.walkthrough.js +29 -21
  209. package/dist/likec4diagram/state/types.d.ts +1 -1
  210. package/dist/likec4diagram/state/utils.d.ts +14 -14
  211. package/dist/likec4diagram/state/utils.js +12 -4
  212. package/dist/likec4diagram/types.d.ts +11 -3
  213. package/dist/likec4diagram/ui/notation/NotationPanel.css.js +2 -2
  214. package/dist/likec4diagram/ui/notation/NotationPanel.js +3 -3
  215. package/dist/likec4diagram/useLayoutConstraints.d.ts +12 -12
  216. package/dist/likec4diagram/useLayoutConstraints.js +126 -84
  217. package/dist/likec4diagram/xyflow-diagram/diagram-view.d.ts +11 -3
  218. package/dist/likec4diagram/xyflow-diagram/diagram-view.js +7 -3
  219. package/dist/likec4diagram/xyflow-sequence/sequence-layout.d.ts +7 -3
  220. package/dist/likec4diagram/xyflow-sequence/sequence-layout.js +15 -8
  221. package/dist/navigationpanel/NavigationPanel.js +4 -3
  222. package/dist/navigationpanel/NavigationPanelControls.js +4 -2
  223. package/dist/navigationpanel/NavigationPanelDropdown.js +13 -13
  224. package/dist/navigationpanel/_common.d.ts +1 -1
  225. package/dist/navigationpanel/_common.js +2 -3
  226. package/dist/navigationpanel/actor.js +1 -1
  227. package/dist/navigationpanel/comparepanel/CompareActionsMenu.js +2 -2
  228. package/dist/navigationpanel/comparepanel/ComparePanel.js +155 -29
  229. package/dist/navigationpanel/comparepanel/ComparePanelControls.js +1 -1
  230. package/dist/navigationpanel/comparepanel/DriftsSummary.d.ts +1 -0
  231. package/dist/navigationpanel/comparepanel/DriftsSummary.js +264 -0
  232. package/dist/navigationpanel/comparepanel/LayoutTypeSwitcher.js +4 -5
  233. package/dist/navigationpanel/controls/DetailsControls.js +7 -7
  234. package/dist/navigationpanel/controls/LayoutWarning.js +2 -2
  235. package/dist/navigationpanel/controls/LogoButton.js +1 -1
  236. package/dist/navigationpanel/controls/NavigationButtons.js +2 -2
  237. package/dist/navigationpanel/controls/OpenSource.js +1 -1
  238. package/dist/navigationpanel/controls/SearchControl.d.ts +1 -2
  239. package/dist/navigationpanel/controls/SearchControl.js +8 -12
  240. package/dist/navigationpanel/controls/ToggleReadonly.js +5 -6
  241. package/dist/navigationpanel/dropdown/ProjectsMenu.js +12 -6
  242. package/dist/navigationpanel/editorpanel/CenterCamera.js +1 -1
  243. package/dist/navigationpanel/editorpanel/ChangeAutoLayoutButton.js +1 -1
  244. package/dist/navigationpanel/editorpanel/ManualLayoutToolsButton.js +9 -9
  245. package/dist/navigationpanel/editorpanel/ToggleReadonly.js +1 -1
  246. package/dist/navigationpanel/editorpanel/styles.js +4 -4
  247. package/dist/navigationpanel/styles.css.d.ts +1 -1
  248. package/dist/navigationpanel/styles.css.js +1 -1
  249. package/dist/navigationpanel/walkthrough/ActiveWalkthroughControls.js +6 -6
  250. package/dist/navigationpanel/walkthrough/DynamicViewControls.d.ts +77 -77
  251. package/dist/navigationpanel/walkthrough/DynamicViewControls.js +1 -1
  252. package/dist/navigationpanel/walkthrough/WalkthroughPanel.js +2 -2
  253. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/createReactComponent.js +1 -1
  254. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.js +1 -1
  255. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertTriangle.js +2 -2
  256. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowDownRight.js +1 -1
  257. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowLeft.js +1 -1
  258. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowRight.js +1 -1
  259. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconBolt.js +1 -1
  260. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconBrowser.js +2 -2
  261. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.js +1 -1
  262. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronDown.js +1 -1
  263. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronLeft.js +1 -1
  264. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js +1 -1
  265. package/dist/node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconCopy.js +14 -0
  266. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconCylinder.js +2 -2
  267. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconDeviceMobile.js +2 -2
  268. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconDirectionSignFilled.js +1 -1
  269. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconExternalLink.js +1 -1
  270. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconFileSymlink.js +1 -1
  271. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconFileText.js +2 -2
  272. package/dist/node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconFocusCentered.js +14 -0
  273. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconFolderFilled.js +1 -1
  274. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconHelpCircle.js +1 -1
  275. package/dist/node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconId.js +14 -0
  276. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconInfoCircle.js +1 -1
  277. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignBottom.js +2 -2
  278. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignCenter.js +2 -2
  279. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignLeft.js +2 -2
  280. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignMiddle.js +2 -2
  281. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignRight.js +2 -2
  282. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignTop.js +2 -2
  283. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutBoardSplit.js +2 -2
  284. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutCollage.js +2 -2
  285. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutDashboard.js +1 -1
  286. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLink.js +1 -1
  287. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLock.js +2 -2
  288. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLockOpen2.js +2 -2
  289. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerPlayFilled.js +1 -1
  290. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipBackFilled.js +1 -1
  291. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipForwardFilled.js +1 -1
  292. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerStopFilled.js +1 -1
  293. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconRectangularPrism.js +2 -2
  294. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconReorder.js +2 -2
  295. package/dist/node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconRouteOff.js +14 -0
  296. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.js +2 -2
  297. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconSelector.js +1 -1
  298. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconStack2.js +1 -1
  299. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconStarFilled.js +1 -1
  300. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconTarget.js +2 -2
  301. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconTransform.js +1 -1
  302. package/dist/node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconTrash.js +14 -0
  303. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconUser.js +1 -1
  304. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js +1 -1
  305. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js +1 -1
  306. package/dist/node_modules/.pnpm/@xstate_store@3.14.0_react@19.2.4/node_modules/@xstate/store/dist/store-1b2fbb72.cjs.js +742 -0
  307. package/dist/node_modules/.pnpm/@xstate_store@3.14.0_react@19.2.4/node_modules/@xstate/store/react/dist/xstate-store-react.cjs.js +175 -0
  308. package/dist/overlays/element-details/ElementDetailsCard.css.js +15 -15
  309. package/dist/overlays/element-details/ElementDetailsCard.js +39 -40
  310. package/dist/overlays/element-details/MetadataValue.js +11 -12
  311. package/dist/overlays/element-details/TabPanelDeployments.js +8 -6
  312. package/dist/overlays/element-details/TabPanelRelationships.css.js +10 -30
  313. package/dist/overlays/element-details/TabPanelRelationships.js +4 -5
  314. package/dist/overlays/element-details/TabPanelStructure.css.js +3 -3
  315. package/dist/overlays/element-details/TabPanelStructure.js +3 -2
  316. package/dist/overlays/overlaysActor.js +19 -1
  317. package/dist/overlays/relationship-details/RelationshipDetails.d.ts +0 -5
  318. package/dist/overlays/relationship-details/RelationshipDetails.js +4 -4
  319. package/dist/overlays/relationship-details/SelectEdge.css.js +6 -6
  320. package/dist/overlays/relationship-details/SelectEdge.js +2 -2
  321. package/dist/overlays/relationship-details/compute.js +1 -1
  322. package/dist/overlays/relationship-details/custom/ElementActions.js +3 -3
  323. package/dist/overlays/relationship-details/custom/nodeTypes.js +14 -1
  324. package/dist/overlays/relationship-details/layout.js +1 -1
  325. package/dist/overlays/relationships-browser/RelationshipsBrowser.d.ts +0 -5
  326. package/dist/overlays/relationships-browser/RelationshipsBrowser.js +116 -21
  327. package/dist/overlays/relationships-browser/SelectElement.css.js +2 -2
  328. package/dist/overlays/relationships-browser/SelectElement.js +2 -2
  329. package/dist/overlays/relationships-browser/actor.js +1 -1
  330. package/dist/overlays/relationships-browser/custom/ElementActions.js +3 -3
  331. package/dist/overlays/relationships-browser/custom/EmptyNode.js +21 -6
  332. package/dist/overlays/relationships-browser/custom/nodeTypes.js +14 -1
  333. package/dist/overlays/relationships-browser/layout.d.ts +1 -1
  334. package/dist/overlays/relationships-browser/layout.js +1 -1
  335. package/dist/overlays/relationships-browser/useViewToNodesEdges.js +1 -1
  336. package/dist/projects-overview/ProjectsOverview.js +2 -2
  337. package/dist/projects-overview/ProjectsOverviewXY.d.ts +1 -5
  338. package/dist/projects-overview/ProjectsOverviewXY.js +1 -1
  339. package/dist/projects-overview/actor.d.ts +1 -1
  340. package/dist/projects-overview/actor.js +8 -31
  341. package/dist/projects-overview/context.d.ts +2 -2
  342. package/dist/projects-overview/context.js +2 -1
  343. package/dist/projects-overview/custom/nodeTypes.js +1 -1
  344. package/dist/projects-overview/panel/ProjectsOverviewPanel.js +1 -1
  345. package/dist/search/Search.d.ts +2 -4
  346. package/dist/search/Search.js +67 -44
  347. package/dist/search/components/ElementsColumn.css.js +6 -6
  348. package/dist/search/components/ElementsColumn.js +93 -60
  349. package/dist/search/components/PickView.d.ts +3 -1
  350. package/dist/search/components/PickView.js +12 -7
  351. package/dist/search/components/SearchByTags.js +1 -1
  352. package/dist/search/components/SearchInput.js +2 -2
  353. package/dist/search/components/ViewsColum.d.ts +2 -1
  354. package/dist/search/components/ViewsColum.js +39 -35
  355. package/dist/search/components/ViewsColumn.css.js +1 -1
  356. package/dist/search/components/_shared.css.d.ts +1 -1
  357. package/dist/search/components/_shared.css.js +12 -12
  358. package/dist/search/components/utils.js +1 -4
  359. package/dist/search/hooks.d.ts +1 -6
  360. package/dist/search/hooks.js +15 -9
  361. package/dist/search/searchActor.d.ts +12 -2
  362. package/dist/search/searchActor.js +60 -4
  363. package/dist/shadowroot/ShadowRoot.d.ts +5 -2
  364. package/dist/shadowroot/ShadowRoot.js +25 -22
  365. package/dist/shadowroot/styles.css.d.ts +0 -2
  366. package/dist/shadowroot/styles.css.js +4 -36
  367. package/dist/styles-font.css2.js +1 -1
  368. package/dist/styles.css2.js +1 -1
  369. package/dist/utils/view-bounds.d.ts +3 -2
  370. package/dist/utils/view-bounds.js +10 -6
  371. package/dist/utils/xyflow.d.ts +27 -6
  372. package/dist/utils/xyflow.js +68 -23
  373. package/package.json +39 -37
  374. package/panda.buildinfo.json +226 -161
  375. package/styles-font.css +1 -1
  376. package/styles-min.css +1 -1
  377. package/styles.css +1 -1
  378. package/bundle/index.js +0 -51974
  379. package/bundle/package.json +0 -4
  380. package/dist/editor/__tests__/fixture.d.ts +0 -205
  381. package/dist/editor/editorActor.d.ts +0 -653
  382. package/dist/likec4diagram/relationship-popover/styles.css.d.ts +0 -2
  383. package/dist/likec4diagram/relationship-popover/styles.css.js +0 -28
  384. package/dist/node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.3/node_modules/@tabler/icons-react/dist/esm/icons/IconCopy.js +0 -14
  385. package/dist/node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.3/node_modules/@tabler/icons-react/dist/esm/icons/IconFocusCentered.js +0 -14
  386. package/dist/node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.3/node_modules/@tabler/icons-react/dist/esm/icons/IconId.js +0 -14
  387. package/dist/node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.3/node_modules/@tabler/icons-react/dist/esm/icons/IconRouteOff.js +0 -14
  388. package/dist/overlays/relationships-browser/custom/styles.css.d.ts +0 -1
  389. package/dist/overlays/relationships-browser/custom/styles.css.js +0 -14
@@ -341,6 +341,10 @@ export declare const focusOnNodesAndEdges: () => ActionFunction<Context, Events,
341
341
  type: "click: selected edge";
342
342
  params: unknown;
343
343
  };
344
+ "click: active walkthrough step": {
345
+ type: "click: active walkthrough step";
346
+ params: unknown;
347
+ };
344
348
  }>, never, EmittedEvents>;
345
349
  export declare const undimEverything: () => ActionFunction<Context, Events, Events, undefined, Values<{
346
350
  hotkeyActorLogic: {
@@ -456,6 +460,7 @@ export declare const onNodeMouseLeave: (params?: {
456
460
  }>, never, never, never, never>;
457
461
  export declare const emitPaneClick: () => ActionFunction<Context, Events, Events, undefined, never, never, never, never, EmittedEvents>;
458
462
  export declare const emitOpenSource: (params?: OpenSourceParams) => ActionFunction<Context, Events, Events, undefined, never, never, never, never, EmittedEvents>;
463
+ export declare const emitOpenSourceOfView: () => ActionFunction<Context, Events, Events, undefined, never, never, never, never, EmittedEvents>;
459
464
  export declare const emitInitialized: () => ActionFunction<Context, Events, Events, undefined, never, never, never, never, EmittedEvents>;
460
465
  export declare const emitNodeClick: () => ActionFunction<Context, Events, Events, undefined, never, never, never, never, EmittedEvents>;
461
466
  export declare const emitNavigateTo: (params?: {
@@ -577,6 +582,10 @@ export declare const triggerChange: (viewChange?: ViewChange) => ActionFunction<
577
582
  type: "click: selected edge";
578
583
  params: unknown;
579
584
  };
585
+ "click: active walkthrough step": {
586
+ type: "click: active walkthrough step";
587
+ params: unknown;
588
+ };
580
589
  }>, never, EmittedEvents>;
581
590
  export declare const emitOnLayoutTypeChange: () => ActionFunction<Context, Events, Events, undefined, Values<{
582
591
  hotkeyActorLogic: {
@@ -693,6 +702,10 @@ export declare const emitOnLayoutTypeChange: () => ActionFunction<Context, Event
693
702
  type: "click: selected edge";
694
703
  params: unknown;
695
704
  };
705
+ "click: active walkthrough step": {
706
+ type: "click: active walkthrough step";
707
+ params: unknown;
708
+ };
696
709
  }>, never, EmittedEvents>;
697
710
  export declare const layoutAlign: (params?: {
698
711
  mode: AlignmentMode;
@@ -811,6 +824,10 @@ export declare const layoutAlign: (params?: {
811
824
  type: "click: selected edge";
812
825
  params: unknown;
813
826
  };
827
+ "click: active walkthrough step": {
828
+ type: "click: active walkthrough step";
829
+ params: unknown;
830
+ };
814
831
  }>, never, EmittedEvents>;
815
832
  export declare const resetEdgesControlPoints: () => ActionFunction<Context, Events, Events, undefined, Values<{
816
833
  hotkeyActorLogic: {
@@ -893,6 +910,33 @@ export declare const tagHighlight: () => ActionFunction<Context, Events, Events,
893
910
  id: "editor";
894
911
  };
895
912
  }>, never, never, never, never>;
913
+ export declare const highlightNodeOrEdge: () => ActionFunction<Context, Events, Events, undefined, Values<{
914
+ hotkeyActorLogic: {
915
+ src: "hotkeyActorLogic";
916
+ logic: HotkeyActorLogic;
917
+ id: "hotkey";
918
+ };
919
+ overlaysActorLogic: {
920
+ src: "overlaysActorLogic";
921
+ logic: OverlaysActorLogic;
922
+ id: "overlays";
923
+ };
924
+ searchActorLogic: {
925
+ src: "searchActorLogic";
926
+ logic: SearchActorLogic;
927
+ id: "search";
928
+ };
929
+ mediaPrintActorLogic: {
930
+ src: "mediaPrintActorLogic";
931
+ logic: MediaPrintActorLogic;
932
+ id: "mediaPrint";
933
+ };
934
+ editorActor: {
935
+ src: "editorActor";
936
+ logic: EditorActorLogic;
937
+ id: "editor";
938
+ };
939
+ }>, never, never, never, never>;
896
940
  export declare const assignToggledFeatures: () => ActionFunction<Context, Events, Events, undefined, Values<{
897
941
  hotkeyActorLogic: {
898
942
  src: "hotkeyActorLogic";
@@ -1037,6 +1081,10 @@ export declare const stopEditorActor: () => ActionFunction<Context, Events, Even
1037
1081
  type: "click: selected edge";
1038
1082
  params: unknown;
1039
1083
  };
1084
+ "click: active walkthrough step": {
1085
+ type: "click: active walkthrough step";
1086
+ params: unknown;
1087
+ };
1040
1088
  }>, never, EmittedEvents>;
1041
1089
  /**
1042
1090
  * Ensure that the sync layout actor is running or stopped based on the read-only state
@@ -1156,6 +1204,10 @@ export declare const ensureEditorActor: () => ActionFunction<Context, Events, Ev
1156
1204
  type: "click: selected edge";
1157
1205
  params: unknown;
1158
1206
  };
1207
+ "click: active walkthrough step": {
1208
+ type: "click: active walkthrough step";
1209
+ params: unknown;
1210
+ };
1159
1211
  }>, never, EmittedEvents>;
1160
1212
  export declare const startEditing: (subject?: "node" | "edge") => ActionFunction<Context, Events, Events, undefined, never, never, never, never, never>;
1161
1213
  export declare const sendSynced: () => ActionFunction<Context, Events, Events, undefined, never, never, never, never, never>;
@@ -1279,6 +1331,10 @@ export declare const openElementDetails: (params?: {
1279
1331
  type: "click: selected edge";
1280
1332
  params: unknown;
1281
1333
  };
1334
+ "click: active walkthrough step": {
1335
+ type: "click: active walkthrough step";
1336
+ params: unknown;
1337
+ };
1282
1338
  }>, never, EmittedEvents>;
1283
1339
  export declare const openOverlay: () => ActionFunction<Context, Events, Events, undefined, Values<{
1284
1340
  hotkeyActorLogic: {
@@ -1395,6 +1451,10 @@ export declare const openOverlay: () => ActionFunction<Context, Events, Events,
1395
1451
  type: "click: selected edge";
1396
1452
  params: unknown;
1397
1453
  };
1454
+ "click: active walkthrough step": {
1455
+ type: "click: active walkthrough step";
1456
+ params: unknown;
1457
+ };
1398
1458
  }>, never, EmittedEvents>;
1399
1459
  export declare const openSourceOfFocusedOrLastClickedNode: () => ActionFunction<Context, Events, Events, undefined, Values<{
1400
1460
  hotkeyActorLogic: {
@@ -1511,6 +1571,10 @@ export declare const openSourceOfFocusedOrLastClickedNode: () => ActionFunction<
1511
1571
  type: "click: selected edge";
1512
1572
  params: unknown;
1513
1573
  };
1574
+ "click: active walkthrough step": {
1575
+ type: "click: active walkthrough step";
1576
+ params: unknown;
1577
+ };
1514
1578
  }>, never, EmittedEvents>;
1515
1579
  /**
1516
1580
  * Ensure that the overlays actor is running or stopped based on the current feature flags
@@ -1630,6 +1694,10 @@ export declare const ensureOverlaysActor: () => ActionFunction<Context, Events,
1630
1694
  type: "click: selected edge";
1631
1695
  params: unknown;
1632
1696
  };
1697
+ "click: active walkthrough step": {
1698
+ type: "click: active walkthrough step";
1699
+ params: unknown;
1700
+ };
1633
1701
  }>, never, EmittedEvents>;
1634
1702
  /**
1635
1703
  * Ensure that the search actor is running or stopped based on the current feature flags
@@ -1749,6 +1817,10 @@ export declare const ensureSearchActor: () => ActionFunction<Context, Events, Ev
1749
1817
  type: "click: selected edge";
1750
1818
  params: unknown;
1751
1819
  };
1820
+ "click: active walkthrough step": {
1821
+ type: "click: active walkthrough step";
1822
+ params: unknown;
1823
+ };
1752
1824
  }>, never, EmittedEvents>;
1753
1825
  export declare const onEdgeMouseEnter: () => ActionFunction<Context, Events, Events, undefined, Values<{
1754
1826
  hotkeyActorLogic: {
@@ -1865,6 +1937,10 @@ export declare const onEdgeMouseEnter: () => ActionFunction<Context, Events, Eve
1865
1937
  type: "click: selected edge";
1866
1938
  params: unknown;
1867
1939
  };
1940
+ "click: active walkthrough step": {
1941
+ type: "click: active walkthrough step";
1942
+ params: unknown;
1943
+ };
1868
1944
  }>, never, EmittedEvents>;
1869
1945
  export declare const onEdgeMouseLeave: () => ActionFunction<Context, Events, Events, undefined, Values<{
1870
1946
  hotkeyActorLogic: {
@@ -1981,6 +2057,10 @@ export declare const onEdgeMouseLeave: () => ActionFunction<Context, Events, Eve
1981
2057
  type: "click: selected edge";
1982
2058
  params: unknown;
1983
2059
  };
2060
+ "click: active walkthrough step": {
2061
+ type: "click: active walkthrough step";
2062
+ params: unknown;
2063
+ };
1984
2064
  }>, never, EmittedEvents>;
1985
2065
  export declare const reraise: () => ActionFunction<Context, Events, Events, undefined, never, never, never, never, never>;
1986
2066
  export declare const startHotKeyActor: () => ActionFunction<Context, Events, Events, undefined, Values<{
@@ -2126,6 +2206,10 @@ export declare const startAutoUnfocusTimer: () => ActionFunction<Context, Events
2126
2206
  type: "click: selected edge";
2127
2207
  params: unknown;
2128
2208
  };
2209
+ "click: active walkthrough step": {
2210
+ type: "click: active walkthrough step";
2211
+ params: unknown;
2212
+ };
2129
2213
  }>, never, EmittedEvents>;
2130
2214
  export declare const cancelAutoUnfocusTimer: () => CancelAction<Context, Events, undefined, Events>;
2131
2215
  export declare const handleNavigate: () => ActionFunction<Context, Events, Events, undefined, Values<{
@@ -2243,6 +2327,10 @@ export declare const handleNavigate: () => ActionFunction<Context, Events, Event
2243
2327
  type: "click: selected edge";
2244
2328
  params: unknown;
2245
2329
  };
2330
+ "click: active walkthrough step": {
2331
+ type: "click: active walkthrough step";
2332
+ params: unknown;
2333
+ };
2246
2334
  }>, never, EmittedEvents>;
2247
2335
  export declare const updateView: () => ActionFunction<Context, Events, Events, undefined, Values<{
2248
2336
  hotkeyActorLogic: {
@@ -2359,4 +2447,8 @@ export declare const updateView: () => ActionFunction<Context, Events, Events, u
2359
2447
  type: "click: selected edge";
2360
2448
  params: unknown;
2361
2449
  };
2450
+ "click: active walkthrough step": {
2451
+ type: "click: active walkthrough step";
2452
+ params: unknown;
2453
+ };
2362
2454
  }>, never, EmittedEvents>;
@@ -1,4 +1,6 @@
1
- import { nonNullable, nonexhaustive, invariant } from '@likec4/core';
1
+ import { exact, nonNullable, nonexhaustive, invariant } from '@likec4/core';
2
+ import { BBox } from '@likec4/core/geometry';
3
+ import { difference } from '@likec4/core/utils';
2
4
  import { nodeToRect } from '@xyflow/system';
3
5
  import { produce } from 'immer';
4
6
  import { hasAtLeast, isTruthy } from 'remeda';
@@ -7,10 +9,10 @@ import { convertToXYFlow } from '../convert-to-xyflow.js';
7
9
  import { createLayoutConstraints } from '../useLayoutConstraints.js';
8
10
  import { getAligner, toNodeRect } from './aligners.js';
9
11
  import { resetEdgeControlPoints, mergeXYNodesEdges, focusNodesEdges } from './assign.js';
10
- import { setViewport, cancelFitDiagram, raiseFitDiagram } from './machine.actions.layout.js';
11
- export { assignViewportBefore, fitDiagram, fitFocusedBounds, raiseSetViewport, raiseUpdateView, returnViewportBefore } from './machine.actions.layout.js';
12
+ import { setViewport, setViewportCenter, cancelFitDiagram, raiseFitDiagram } from './machine.actions.layout.js';
13
+ export { assignViewportBefore, centerOnNodeOrEdge, fitDiagram, fitFocusedBounds, raiseSetViewport, raiseUpdateView, returnViewportBefore } from './machine.actions.layout.js';
12
14
  import { machine } from './machine.setup.js';
13
- import { typedSystem, findDiagramEdge, findDiagramNode } from './utils.js';
15
+ import { typedSystem, findDiagramNode, findDiagramEdge, viewBounds } from './utils.js';
14
16
  import { Base } from '../../base/Base.js';
15
17
 
16
18
  const disableCompareWithLatest = () => machine.assign(({ context }) => {
@@ -31,20 +33,20 @@ const onEdgeDoubleClick = () => machine.assign(({ context, event }) => {
31
33
  const { nodeLookup } = context.xystore.getState();
32
34
  return {
33
35
  xyedges: context.xyedges.map((e) => {
34
- if (e.id === event.edge.id) {
35
- const controlPoints = resetEdgeControlPoints(nodeLookup, e);
36
- const pt = controlPoints[0];
37
- return {
38
- ...e,
39
- data: {
40
- ...e.data,
41
- controlPoints,
42
- labelBBox: e.data.labelBBox ? { ...e.data.labelBBox, ...pt } : null,
43
- labelXY: null
44
- }
45
- };
36
+ if (e.id !== event.edge.id) {
37
+ return e;
46
38
  }
47
- return e;
39
+ const controlPoints = resetEdgeControlPoints(nodeLookup, e);
40
+ const pt = controlPoints[0];
41
+ return {
42
+ ...e,
43
+ data: {
44
+ ...e.data,
45
+ controlPoints,
46
+ labelBBox: e.data.labelBBox ? { ...e.data.labelBBox, ...pt } : null,
47
+ labelXY: null
48
+ }
49
+ };
48
50
  })
49
51
  };
50
52
  });
@@ -75,10 +77,11 @@ const assignFocusedNode = () => machine.assign(({ event }) => {
75
77
  case "xyflow.nodeClick":
76
78
  focusedNode = event.node.data.id;
77
79
  break;
78
- case "focus.node":
80
+ case "focus.node": {
79
81
  focusedNode = event.nodeId;
80
82
  autoUnfocusTimer = event.autoUnfocus === true;
81
83
  break;
84
+ }
82
85
  default:
83
86
  throw new Error(`Unexpected event type: ${event.type} in action 'assign: focusedNode'`);
84
87
  }
@@ -90,21 +93,25 @@ const assignFocusedNode = () => machine.assign(({ event }) => {
90
93
  const resetLastClickedNode = () => machine.assign(() => ({
91
94
  lastClickedNode: null
92
95
  }));
93
- const updateFeatures = () => machine.assign(({ event }) => {
96
+ const updateFeatures = () => machine.assign(({ context, event }) => {
94
97
  assertEvent(event, "update.features");
95
98
  return {
96
- features: { ...event.features }
99
+ features: {
100
+ ...context.features,
101
+ ...event.features
102
+ }
97
103
  };
98
104
  });
99
105
  const updateInputs = () => machine.assign(({ event }) => {
100
106
  assertEvent(event, "update.inputs");
101
- return { ...event.inputs };
107
+ return exact({ ...event.inputs });
102
108
  });
103
109
  const assignXYDataFromView = (view) => machine.assign(({ context, event }) => {
104
110
  let xydata;
105
111
  {
106
112
  assertEvent(event, "update.view");
107
113
  xydata = "xynodes" in event ? event : convertToXYFlow({
114
+ currentViewId: context.view.id,
108
115
  dynamicViewVariant: context.dynamicViewVariant,
109
116
  view: event.view,
110
117
  where: context.where
@@ -188,18 +195,18 @@ const emitPaneClick = () => machine.emit(() => ({
188
195
  type: "paneClick"
189
196
  }));
190
197
  const emitOpenSource = (params) => machine.emit(({ event }) => {
191
- if (params) {
192
- return {
193
- type: "openSource",
194
- params
195
- };
196
- }
197
198
  assertEvent(event, "open.source");
198
199
  return {
199
200
  type: "openSource",
200
201
  params: event
201
202
  };
202
203
  });
204
+ const emitOpenSourceOfView = () => machine.emit(({ context }) => ({
205
+ type: "openSource",
206
+ params: {
207
+ view: context.view.id
208
+ }
209
+ }));
203
210
  const emitInitialized = () => machine.emit(({ context }) => {
204
211
  invariant(context.xyflow, "XYFlow instance not found");
205
212
  return {
@@ -292,7 +299,7 @@ const layoutAlign = (params) => machine.createAction(({ context, event }) => {
292
299
  const xystore = nonNullable(context.xystore, "xystore is not initialized");
293
300
  const { nodeLookup, parentLookup } = xystore.getState();
294
301
  const selectedNodes = new Set(nodeLookup.values().filter((n) => n.selected).map((n) => n.id));
295
- const nodesToAlign = [...selectedNodes.difference(new Set(parentLookup.keys()))];
302
+ const nodesToAlign = [...difference(selectedNodes, new Set(parentLookup.keys()))];
296
303
  if (!hasAtLeast(nodesToAlign, 2)) {
297
304
  console.warn("At least 2 nodes must be selected to align");
298
305
  return;
@@ -359,14 +366,58 @@ const tagHighlight = () => machine.assign(({ context, event }) => {
359
366
  })
360
367
  };
361
368
  });
369
+ const highlightNodeOrEdge = () => machine.assign(({ context, event }) => {
370
+ assertEvent(event, ["highlight.edge", "highlight.node"]);
371
+ switch (event.type) {
372
+ case "highlight.node": {
373
+ const nodeId = event.nodeId;
374
+ const node = context.xynodes.find((n) => n.id === nodeId);
375
+ if (!node) {
376
+ console.warn(`Node with id ${nodeId} not found for highlighting`);
377
+ return {};
378
+ }
379
+ return {
380
+ xynodes: context.xynodes.map((n) => {
381
+ return Base.setDimmed(n, n.id === nodeId ? false : true);
382
+ }),
383
+ xyedges: context.xyedges.map(Base.setData({
384
+ dimmed: true,
385
+ active: false
386
+ }))
387
+ };
388
+ }
389
+ case "highlight.edge": {
390
+ const edgeId = event.edgeId;
391
+ let edge = context.xyedges.find((e) => e.id === edgeId);
392
+ if (!edge) {
393
+ console.warn(`Edge with id ${edgeId} not found for highlighting`);
394
+ return {};
395
+ }
396
+ return {
397
+ xynodes: context.xynodes.map((n) => {
398
+ return Base.setDimmed(n, edge.source !== n.id && edge.target !== n.id);
399
+ }),
400
+ xyedges: context.xyedges.map((e) => {
401
+ return Base.setData(e, {
402
+ dimmed: e.id !== edgeId,
403
+ active: e.id === edgeId
404
+ });
405
+ })
406
+ };
407
+ }
408
+ default:
409
+ nonexhaustive(event);
410
+ }
411
+ });
362
412
  const assignToggledFeatures = () => machine.assign(({ context, event }) => {
363
413
  assertEvent(event, "toggle.feature");
364
- const currentValue = context.toggledFeatures[`enable${event.feature}`] ?? context.features[`enable${event.feature}`];
414
+ const feature = `enable${event.feature}`;
415
+ const currentValue = context.toggledFeatures[feature] ?? context.features[feature];
365
416
  const nextValue = event.forceValue ?? !currentValue;
366
417
  return {
367
418
  toggledFeatures: {
368
419
  ...context.toggledFeatures,
369
- [`enable${event.feature}`]: nextValue
420
+ [feature]: nextValue
370
421
  }
371
422
  };
372
423
  });
@@ -418,7 +469,7 @@ const sendSynced = () => machine.sendTo(
418
469
  type: "synced"
419
470
  }
420
471
  );
421
- const stopEditing = (wasChanged = true) => machine.sendTo(
472
+ const stopEditing = (wasChanged = false) => machine.sendTo(
422
473
  typedSystem.editorActor,
423
474
  {
424
475
  type: "edit.finish",
@@ -507,6 +558,10 @@ const openOverlay = () => machine.enqueueActions(({ context, event, enqueue, che
507
558
  break;
508
559
  }
509
560
  case "open.relationshipsBrowser": {
561
+ if (!context.features.enableRelationshipBrowser) {
562
+ console.warn("RelationshipBrowser feature is disabled");
563
+ return;
564
+ }
510
565
  enqueue.sendTo(
511
566
  typedSystem.overlaysActor,
512
567
  {
@@ -522,6 +577,10 @@ const openOverlay = () => machine.enqueueActions(({ context, event, enqueue, che
522
577
  break;
523
578
  }
524
579
  case "open.relationshipDetails": {
580
+ if (!context.features.enableRelationshipDetails) {
581
+ console.warn("RelationshipDetails feature is disabled");
582
+ return;
583
+ }
525
584
  enqueue.sendTo(
526
585
  typedSystem.overlaysActor,
527
586
  {
@@ -548,30 +607,39 @@ const openSourceOfFocusedOrLastClickedNode = () => machine.enqueueActions(({ con
548
607
  }
549
608
  });
550
609
  const ensureOverlaysActor = () => machine.enqueueActions(({ enqueue, check, system }) => {
551
- const enableOverlays = check("enabled: Overlays");
552
- const hasRunning = typedSystem(system).overlaysActorRef;
553
- if (enableOverlays && !hasRunning) {
554
- enqueue.spawnChild("overlaysActorLogic", { id: "overlays", systemId: "overlays" });
610
+ const enabled = check("enabled: Overlays");
611
+ const running = typedSystem(system).overlaysActorRef;
612
+ if (enabled && !running) {
613
+ enqueue.spawnChild("overlaysActorLogic", {
614
+ id: "overlays",
615
+ systemId: "overlays",
616
+ syncSnapshot: true
617
+ });
555
618
  return;
556
619
  }
557
- if (!enableOverlays && hasRunning) {
558
- enqueue.sendTo(hasRunning, {
620
+ if (!enabled && running) {
621
+ enqueue.sendTo(running, {
559
622
  type: "close.all"
560
623
  });
561
- enqueue.stopChild("overlays");
624
+ enqueue.stopChild(running);
562
625
  }
563
626
  });
564
- const ensureSearchActor = () => machine.enqueueActions(({ enqueue, context: { features: { enableSearch } }, system }) => {
565
- const hasRunning = typedSystem(system).searchActorRef;
566
- if (enableSearch && !hasRunning) {
567
- enqueue.spawnChild("searchActorLogic", { id: "search", systemId: "search" });
627
+ const ensureSearchActor = () => machine.enqueueActions(({ enqueue, check, system }) => {
628
+ const enabled = check("enabled: Search");
629
+ const running = typedSystem(system).searchActorRef;
630
+ if (enabled && !running) {
631
+ enqueue.spawnChild("searchActorLogic", {
632
+ id: "search",
633
+ systemId: "search",
634
+ syncSnapshot: true
635
+ });
568
636
  return;
569
637
  }
570
- if (!enableSearch && hasRunning) {
571
- enqueue.sendTo(hasRunning, {
638
+ if (!enabled && running) {
639
+ enqueue.sendTo(running, {
572
640
  type: "close"
573
641
  });
574
- enqueue.stopChild("search");
642
+ enqueue.stopChild(running);
575
643
  }
576
644
  });
577
645
  const onEdgeMouseEnter = () => machine.enqueueActions(({ enqueue, context, event }) => {
@@ -629,14 +697,12 @@ const handleNavigate = () => machine.enqueueActions(({ enqueue, context, event }
629
697
  viewport,
630
698
  viewportChangedManually,
631
699
  viewportBefore,
632
- navigationHistory: {
633
- currentIndex,
634
- history: _history
635
- }
700
+ navigationHistory
636
701
  } = context;
637
- let history = [..._history];
702
+ let { currentIndex, history: _history } = navigationHistory;
703
+ let history = _history;
638
704
  if (currentIndex < _history.length) {
639
- const updatedEntry = produce(_history[currentIndex], (draft) => {
705
+ const updatedEntry = produce(_history.at(currentIndex) ?? {}, (draft) => {
640
706
  draft.viewport = { ...viewport };
641
707
  draft.viewportChangedManually = viewportChangedManually;
642
708
  draft.focusedNode = focusedNode;
@@ -648,7 +714,7 @@ const handleNavigate = () => machine.enqueueActions(({ enqueue, context, event }
648
714
  draft.dynamicViewVariant = null;
649
715
  }
650
716
  if (viewportBefore) {
651
- draft.viewportBefore = viewportBefore;
717
+ draft.viewportBefore = structuredClone(viewportBefore);
652
718
  } else {
653
719
  delete draft.viewportBefore;
654
720
  }
@@ -720,7 +786,6 @@ const updateView = () => machine.enqueueActions(
720
786
  return;
721
787
  }
722
788
  enqueue(sendSynced());
723
- let recenter = !context.viewportChangedManually && !context.focusedNode && !context.activeWalkthrough;
724
789
  if (context.toggledFeatures.enableCompareWithLatest === true && context.view._layout !== nextView._layout) {
725
790
  if (nextView._layout === "auto" && context.viewportOnAutoLayout) {
726
791
  enqueue(
@@ -741,15 +806,19 @@ const updateView = () => machine.enqueueActions(
741
806
  return;
742
807
  }
743
808
  }
744
- recenter = recenter || nextView._type === "dynamic" && context.view._type === "dynamic" && nextView.variant !== context.view.variant;
809
+ let recenter = !context.viewportChangedManually && !context.focusedNode && !context.activeWalkthrough;
745
810
  recenter = recenter || context.toggledFeatures.enableCompareWithLatest === true && !!nextView._layout && context.view._layout !== nextView._layout;
811
+ if (nextView._type === "dynamic" && context.view._type === "dynamic") {
812
+ if (nextView.variant === context.view.variant && nextView.variant !== context.dynamicViewVariant) {
813
+ const nextCenter = BBox.center(viewBounds(context, nextView));
814
+ enqueue(setViewportCenter(nextCenter));
815
+ }
816
+ }
746
817
  if (recenter) {
747
818
  enqueue(cancelFitDiagram());
748
- enqueue(raiseFitDiagram({
749
- bounds: event.view.bounds
750
- }));
819
+ enqueue(raiseFitDiagram());
751
820
  }
752
821
  }
753
822
  );
754
823
 
755
- export { assignDynamicViewVariant, assignFocusedNode, assignLastClickedNode, assignToggledFeatures, assignXYDataFromView, cancelAutoUnfocusTimer, cancelEditing, cancelFitDiagram, closeAllOverlays, closeSearch, disableCompareWithLatest, emitEdgeClick, emitInitialized, emitNavigateTo, emitNodeClick, emitOnLayoutTypeChange, emitOpenSource, emitPaneClick, ensureEditorActor, ensureOverlaysActor, ensureSearchActor, focusOnNodesAndEdges, handleNavigate, layoutAlign, notationsHighlight, onEdgeDoubleClick, onEdgeMouseEnter, onEdgeMouseLeave, onNodeMouseEnter, onNodeMouseLeave, openElementDetails, openOverlay, openSourceOfFocusedOrLastClickedNode, raiseFitDiagram, resetEdgesControlPoints, resetLastClickedNode, sendSynced, setViewport, startAutoUnfocusTimer, startEditing, startHotKeyActor, stopEditing, stopEditorActor, stopHotKeyActor, tagHighlight, triggerChange, undimEverything, updateFeatures, updateInputs, updateView };
824
+ export { assignDynamicViewVariant, assignFocusedNode, assignLastClickedNode, assignToggledFeatures, assignXYDataFromView, cancelAutoUnfocusTimer, cancelEditing, cancelFitDiagram, closeAllOverlays, closeSearch, disableCompareWithLatest, emitEdgeClick, emitInitialized, emitNavigateTo, emitNodeClick, emitOnLayoutTypeChange, emitOpenSource, emitOpenSourceOfView, emitPaneClick, ensureEditorActor, ensureOverlaysActor, ensureSearchActor, focusOnNodesAndEdges, handleNavigate, highlightNodeOrEdge, layoutAlign, notationsHighlight, onEdgeDoubleClick, onEdgeMouseEnter, onEdgeMouseLeave, onNodeMouseEnter, onNodeMouseLeave, openElementDetails, openOverlay, openSourceOfFocusedOrLastClickedNode, raiseFitDiagram, resetEdgesControlPoints, resetLastClickedNode, sendSynced, setViewport, setViewportCenter, startAutoUnfocusTimer, startEditing, startHotKeyActor, stopEditing, stopEditorActor, stopHotKeyActor, tagHighlight, triggerChange, undimEverything, updateFeatures, updateInputs, updateView };
@@ -126,6 +126,10 @@ export declare const setViewport: (params?: {
126
126
  type: "click: selected edge";
127
127
  params: unknown;
128
128
  };
129
+ "click: active walkthrough step": {
130
+ type: "click: active walkthrough step";
131
+ params: unknown;
132
+ };
129
133
  }>, never, EmittedEvents>;
130
134
  export declare const setViewportCenter: (params?: {
131
135
  x: number;
@@ -245,11 +249,16 @@ export declare const setViewportCenter: (params?: {
245
249
  type: "click: selected edge";
246
250
  params: unknown;
247
251
  };
252
+ "click: active walkthrough step": {
253
+ type: "click: active walkthrough step";
254
+ params: unknown;
255
+ };
248
256
  }>, never, EmittedEvents>;
257
+ export declare const centerOnNodeOrEdge: () => ActionFunction<Context, Events, Events, undefined, never, never, never, never, never>;
249
258
  export declare const fitDiagram: (params?: {
250
259
  duration?: number;
251
260
  bounds?: BBox;
252
- }) => ActionFunction<Context, Events, Events, undefined, Values<{
261
+ }) => ActionFunction<Context, Events, Events, unknown, Values<{
253
262
  hotkeyActorLogic: {
254
263
  src: "hotkeyActorLogic";
255
264
  logic: HotkeyActorLogic;
@@ -364,6 +373,10 @@ export declare const fitDiagram: (params?: {
364
373
  type: "click: selected edge";
365
374
  params: unknown;
366
375
  };
376
+ "click: active walkthrough step": {
377
+ type: "click: active walkthrough step";
378
+ params: unknown;
379
+ };
367
380
  }>, never, EmittedEvents>;
368
381
  export declare const fitFocusedBounds: () => ActionFunction<Context, Events, Events, unknown, Values<{
369
382
  hotkeyActorLogic: {
@@ -480,6 +493,10 @@ export declare const fitFocusedBounds: () => ActionFunction<Context, Events, Eve
480
493
  type: "click: selected edge";
481
494
  params: unknown;
482
495
  };
496
+ "click: active walkthrough step": {
497
+ type: "click: active walkthrough step";
498
+ params: unknown;
499
+ };
483
500
  }>, never, EmittedEvents>;
484
501
  export declare const raiseSetViewport: (params: {
485
502
  delay?: number;
@@ -493,7 +510,7 @@ export declare const raiseFitDiagram: (params?: {
493
510
  bounds?: BBox;
494
511
  }) => ActionFunction<Context, Events, Events, undefined, never, never, never, never, never>;
495
512
  export declare const raiseUpdateView: (view?: DiagramView) => ActionFunction<Context, Events, Events, undefined, never, never, never, never, never>;
496
- export declare const assignViewportBefore: (viewport?: Viewport | null) => ActionFunction<Context, Events, Events, undefined, Values<{
513
+ export declare const assignViewportBefore: (viewport?: Viewport | false) => ActionFunction<Context, Events, Events, undefined, Values<{
497
514
  hotkeyActorLogic: {
498
515
  src: "hotkeyActorLogic";
499
516
  logic: HotkeyActorLogic;
@@ -638,4 +655,8 @@ export declare const returnViewportBefore: (params?: {
638
655
  type: "click: selected edge";
639
656
  params: unknown;
640
657
  };
658
+ "click: active walkthrough step": {
659
+ type: "click: active walkthrough step";
660
+ params: unknown;
661
+ };
641
662
  }>, never, EmittedEvents>;